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

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

     [ https://issues.apache.org/jira/browse/BEAM-5063?focusedWorklogId=132384&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-132384 ]

ASF GitHub Bot logged work on BEAM-5063:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 08/Aug/18 14:20
            Start Date: 08/Aug/18 14:20
    Worklog Time Spent: 10m 
      Work Description: krzysztof-tr opened a new pull request #6178: [BEAM-5063] Fix Watermark does not progress for low traffic streams
URL: https://github.com/apache/beam/pull/6178
 
 
   Kinesis watermark was extracted to separate class (`KinesisWatermark`) to encapsulate its logic. Watermark calculation was changed to mitigate the problem with too low traffic on the corresponding stream. In new implementation, when watermark was not updated within some period of time, it's updated to the recent min from the `MovingFunction`, regardless of the number of samples.
   
   @pawel-kaczmarczyk, @rtshadow, @kennknowles could you please take a look at the changes?
   
   ------------------------
   
   Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [x] Format the pull request title like `[BEAM-XXX] Fixes bug in ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   It will help us expedite review of your Pull Request if you tag someone (e.g. `@username`) to look at it.
   
   Post-Commit Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   
   Lang | SDK | Apex | Dataflow | Flink | Gearpump | Samza | Spark
   --- | --- | --- | --- | --- | --- | --- | ---
   Go | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Go_GradleBuild/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Go_GradleBuild/lastCompletedBuild/) | --- | --- | --- | --- | --- | ---
   Java | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_GradleBuild/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_GradleBuild/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Gearpump_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Gearpump_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark_Gradle/lastCompletedBuild/)
   Python | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Python_Verify/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Python_Verify/lastCompletedBuild/) | --- | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Py_VR_Dataflow/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Py_VR_Dataflow/lastCompletedBuild/) </br> [![Build Status](https://builds.apache.org/job/beam_PostCommit_Py_ValCont/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Py_ValCont/lastCompletedBuild/) | --- | --- | --- | ---
   
   
   
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 132384)
            Time Spent: 10m
    Remaining Estimate: 0h

> 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é
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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).
>   
>   
>   



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