[#30083] Add processing time to prism.
Add a ProcessingTime queue to Prism's element manager, that can be appropriately controlled by the TestStream notion of time.
Basic design is that the queue doesn't contain the elements, but instead manages which stage needs to be notified when to inject queue elements into processing, and in particular, syncing it with existing watermark processing, which decides when elements are ready to be processed anyway. This allows continuing to have each stage maintain all the state for the stage, instead of splitting it between the element manager and the stages.
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
- [ ] 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, commentfixes #<ISSUE NUMBER>instead. - [ ] Update
CHANGES.mdwith noteworthy changes. - [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)
See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.
Codecov Report
Attention: Patch coverage is 82.55814% with 15 lines in your changes are missing coverage. Please review.
Project coverage is 38.55%. Comparing base (
6406cfe) to head (275e307). Report is 197 commits behind head on master.
:exclamation: Current head 275e307 differs from pull request most recent head 313bc5b. Consider uploading reports for the commit 313bc5b to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## master #30492 +/- ##
==========================================
+ Coverage 38.52% 38.55% +0.02%
==========================================
Files 698 699 +1
Lines 102374 102439 +65
==========================================
+ Hits 39442 39497 +55
- Misses 61302 61307 +5
- Partials 1630 1635 +5
| Flag | Coverage Δ | |
|---|---|---|
| go | 54.37% <82.55%> (+0.05%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Codecov Report
Attention: Patch coverage is 82.55814% with 15 lines in your changes are missing coverage. Please review.
Project coverage is 38.55%. Comparing base (
b34cf54) to head (275e307). Report is 304 commits behind head on master.
:exclamation: Current head 275e307 differs from pull request most recent head 30c239d
Please upload reports for the commit 30c239d to get more accurate results.
Additional details and impacted files
@@ Coverage Diff @@
## master #30492 +/- ##
=============================================
- Coverage 71.44% 38.55% -32.90%
=============================================
Files 906 699 -207
Lines 113271 102439 -10832
Branches 1076 0 -1076
=============================================
- Hits 80931 39497 -41434
- Misses 30327 61307 +30980
+ Partials 2013 1635 -378
| Flag | Coverage Δ | |
|---|---|---|
| go | 54.37% <82.55%> (+0.04%) |
:arrow_up: |
| java | ? |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
R: @damondouglas
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control
LGTM pending the latest check re-run passes; nothing really stood out for me accept for the couple of comments.
The only failure was the Dataflow run of the ProcessingTime_Bounded test, which I had not filtered out. Dataflow only properly handles processing time in Streaming pipelines,and that test pipeline executes as "batch".