Marca d'água ficando presa

Estou ingerindo dados via pub / sub em um pipeline de fluxo de dados que está sendo executado no modo ilimitado. Os dados são basicamente coordenadas com registros de data e hora capturados em dispositivos de rastreamento. Essas mensagens chegam em lotes, onde cada lote pode ter 1..n mensagens. Por um determinado período, pode não haver mensagens chegando, que podem ser reenviadas mais tarde (ou não). Usamos o registro de data e hora (em UTC) de cada coordenada como um atributo para a mensagem pub-sub. E leia o pipeline por meio de um rótulo Timestamp:

pipeline.apply(PubsubIO.Read.topic("new").timestampLabel("timestamp")

Um exemplo de coordenadas e atraso é semelhante a:

36 points wait 0:02:24
36 points wait 0:02:55
18 points wait 0:00:45
05 points wait 0:00:01
36 points wait 0:00:33
36 points wait 0:00:43
36 points wait 0:00:34

Uma mensagem pode se parecer com:

2013-07-07 09:34:11;47.798766;13.050133

Após o primeiro lote, a marca d'água está vazia; após o segundo lote, vejo uma marca d'água nos diagnósticos do pipeline, mas ela não é atualizada, embora novas mensagens cheguem. Também de acordo com o log do stackdriver, o PubSub não possui mensagens não entregues ou não reconhecidas.

A marca d'água não deve avançar como uma mensagem com a nova hora do evento?

De acordo comQual é a heurística da marca d'água para o PubsubIO em execução no GCD? o WaterMark também deve avançar a cada 2 minutos, o que não acontece?

[..] No caso de não vermos os dados da assinatura há mais de dois minutos (e não há atraso), avançamos a marca d'água para quase o tempo real. [..]

Atualize para responder às perguntas de Bens:

Existe uma identificação de trabalho que possamos analisar?

Sim, eu apenas reiniciei toda a instalação às 09:52 CET, que é 07:52 UTC, com o ID da tarefa 2017-05-05_00_49_11-11176509843641901704.

Qual versão do SDK você está usando?

1.9.0

Como você está publicando as mensagens com os marcadores de data e hora?

Usamos um script python para publicar os dados que estão usando o pub sub sdk. Uma mensagem de lá pode parecer com:

{'data': {timestamp; lat; long; ele}, 'timestamp': '2017-05-05T07: 45: 51Z'}

Usamos o atributo timestamp para o timestamplabel no fluxo de dados.

Em que a marca d'água está presa?

Para este trabalho, a marca d'água está presa às 09:57:35 (estou publicando isso por volta das 10:10), embora novos dados sejam enviados, por exemplo. às

10:05:14
10:05:43
10:06:30

Também posso ver que publicamos dados no pub sub com atraso de mais de 10 segundos, por exemplo. às 10:07:47, publicamos dados com o carimbo de data e hora mais alto de 10:07:26.

Depois de algumas horas, a marca d'água alcança, mas não consigo ver por que está atrasada / não está se movendo no início.

questionAnswers(2)

yourAnswerToTheQuestion