Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-5063

Watermark does not progress for low traffic streams

Details

    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 2.5.0
    • 2.7.0
    • io-java-kinesis
    • None

    Description

      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 ~1 event every few 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 issue might be related to usage of MovingFunction in KinesisReader. In the current implementation, it covers 1 minute period of samples, since obtaining the min value flushes stale values, if the traffic is very low 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).
       
       
       

      Attachments

        Issue Links

          Activity

            People

              KrzysztofTr Krzysztof Trubalski
              KrzysztofTr Krzysztof Trubalski
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h
                  3h