You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2022/09/20 13:47:56 UTC

[GitHub] [beam] je-ik opened a new pull request, #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

je-ik opened a new pull request, #23302:
URL: https://github.com/apache/beam/pull/23302

   Closes #23301
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] [**Choose reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and mention them in a comment (`R: @username`).
    - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
    - [ ] Update `CHANGES.md` with noteworthy changes.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://beam.apache.org/contribute/get-started-contributing/#make-the-reviewers-job-easier).
   
   To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
   
   GitHub Actions Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Go tests](https://github.com/apache/beam/workflows/Go%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
   
   See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1253837837

   Run Java_Examples_Dataflow_Java11 PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] github-actions[bot] commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1252411055

   Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on a diff in pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on code in PR #23302:
URL: https://github.com/apache/beam/pull/23302#discussion_r976621771


##########
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PeriodicSequence.java:
##########
@@ -178,9 +182,22 @@ public RestrictionTracker<OffsetRange, Long> newTracker(@Restriction OffsetRange
       return new OutputRangeTracker(restriction);
     }
 
+    @GetInitialWatermarkEstimatorState
+    public Instant getInitialWatermarkState() {
+      return BoundedWindow.TIMESTAMP_MIN_VALUE;

Review Comment:
   This should be fine, the initial state should be used only when the pipeline is first run, the watermark is expected to be on its minimum value by then.



##########
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PeriodicSequence.java:
##########
@@ -178,9 +182,22 @@ public RestrictionTracker<OffsetRange, Long> newTracker(@Restriction OffsetRange
       return new OutputRangeTracker(restriction);
     }
 
+    @GetInitialWatermarkEstimatorState
+    public Instant getInitialWatermarkState() {
+      return BoundedWindow.TIMESTAMP_MIN_VALUE;
+    }
+
+    @NewWatermarkEstimator
+    public WatermarkEstimator<Instant> newWatermarkEstimator(
+        @WatermarkEstimatorState Instant state) {
+
+      return new WatermarkEstimators.Manual(state);

Review Comment:
   I prefer to add newline after method declaration that spans multiple lines. Looks like it is pretty common in the Beam's codebase, so I'd prefer to keep it as it is.



##########
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PeriodicSequence.java:
##########
@@ -178,9 +182,22 @@ public RestrictionTracker<OffsetRange, Long> newTracker(@Restriction OffsetRange
       return new OutputRangeTracker(restriction);
     }
 
+    @GetInitialWatermarkEstimatorState

Review Comment:
   I think that is no problem. The important part is that @ProcessElement returns `ProcessContinuation`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1253836812

   Run Java_PVR_Flink_Docker PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1253837547

   Run Java_Examples_Dataflow_Java17 PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1253835981

   Run Java_PVR_Flink_Docker PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] damccorm merged pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
damccorm merged PR #23302:
URL: https://github.com/apache/beam/pull/23302


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1252382577

   R: @damccorm 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] je-ik commented on pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
je-ik commented on PR #23302:
URL: https://github.com/apache/beam/pull/23302#issuecomment-1253837257

   Run Java_PVR_Flink_Batch PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] damccorm commented on a diff in pull request #23302: [Java SDK core] emit watermark from PeriodicSequence (#23301)

Posted by GitBox <gi...@apache.org>.
damccorm commented on code in PR #23302:
URL: https://github.com/apache/beam/pull/23302#discussion_r975406751


##########
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PeriodicSequence.java:
##########
@@ -178,9 +182,22 @@ public RestrictionTracker<OffsetRange, Long> newTracker(@Restriction OffsetRange
       return new OutputRangeTracker(restriction);
     }
 
+    @GetInitialWatermarkEstimatorState
+    public Instant getInitialWatermarkState() {
+      return BoundedWindow.TIMESTAMP_MIN_VALUE;
+    }
+
+    @NewWatermarkEstimator
+    public WatermarkEstimator<Instant> newWatermarkEstimator(
+        @WatermarkEstimatorState Instant state) {
+
+      return new WatermarkEstimators.Manual(state);

Review Comment:
   ```suggestion
         return new WatermarkEstimators.Manual(state);
   ```



##########
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PeriodicSequence.java:
##########
@@ -178,9 +182,22 @@ public RestrictionTracker<OffsetRange, Long> newTracker(@Restriction OffsetRange
       return new OutputRangeTracker(restriction);
     }
 
+    @GetInitialWatermarkEstimatorState

Review Comment:
   Non-blocking for this PR, but I noticed above that the restriction is always Bounded - should we set it to unbounded if the endTimestamp is omitted (set to `BoundedWindow.TIMESTAMP_MAX_VALUE`)?



##########
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PeriodicSequence.java:
##########
@@ -178,9 +182,22 @@ public RestrictionTracker<OffsetRange, Long> newTracker(@Restriction OffsetRange
       return new OutputRangeTracker(restriction);
     }
 
+    @GetInitialWatermarkEstimatorState
+    public Instant getInitialWatermarkState() {
+      return BoundedWindow.TIMESTAMP_MIN_VALUE;

Review Comment:
   Should we use the restriction's minimum value here? (or maybe slightly less than that to allow the first element to be emitted)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org