You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Krzysztof Trubalski (JIRA)" <ji...@apache.org> on 2018/08/02 13:50:00 UTC

[jira] [Created] (BEAM-5063) Watermark does not progress for low traffic streams

Krzysztof Trubalski created BEAM-5063:
-----------------------------------------

             Summary: Watermark does not progress for low traffic streams
                 Key: BEAM-5063
                 URL: https://issues.apache.org/jira/browse/BEAM-5063
             Project: Beam
          Issue Type: Bug
          Components: io-java-kinesis
    Affects Versions: 2.5.0
            Reporter: Krzysztof Trubalski
            Assignee: Jean-Baptiste Onofré


We have a Dataflow Job copying data from multiple Kinesis streams into Big Query. Recently we have noticed that the watermark on one of the streams frequently gets stuck although data from that stream is still being processed (it progress only when the traffic increases or Dataflow autoscaling feature kicks in).
 
Looking at the CloudWatch statistics for the affected stream, it has a really low traffic rate - only 2 events per minute + 4 events every 5 minutes. After investigation and consulting the issue with Google's Dataflow Team, it looks like with such small amount of data on the stream, the function calculating the watermark in KinesisReader reports progress incorrectly.
 
From my initial investigation, I suspect that the MovingFunction used to keep track of the watermark in KinesisReader is incorrectly used. In the current implementation, min is obtained first and then the significance is checked. Since obtaining the min value flushes stale values, the following call to significance check always returns false (as it relies on the number of samples, and most of them were flushed by get() invocation).
 
 
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)