lostluck opened a new pull request, #33763:
URL: https://github.com/apache/beam/pull/33763
Mostly locking in some fixes and work to avoid making Triggers impossible to
review.
This PR has 3 components.
* Adds the bulk of the Trigger State Machine to be used in a different PR.
* Excludes handling Processing Time, and Merging Windows at this time.
* https://s.apache.org/beam-triggers for general handling.
* Checked understanding against the Java TriggerStateMachine code which
supports execution for Java runners.
* Compressed the logic into less abstract form, and simplified shouldFire
and Fire handling into a single isReady tree.
* While it's building on Prism's state handling, it is *not* getting
serialized and deserialized all the time, saving some memory and processing.
* Fixes a bug WRT state and timer execution: Bundles can't mix timers and
data, since there is no ordering guarantee on their processing. Timers or data
can be processed first. This is a problem if the other group has later data,
avoiding the correctness issue.
* Fixed by never mixing Data and Timers in the same bundle.
* Works around a legacy bug in Java's TestStream encodings where a value
will be encoded with the deprecated "Outer" context, which leads to dropping
length prefixes in the String encoder.
* This mostly allows additional ValidatesRunner tests to pass and execute,
critical for Trigger testing.
Part of #31438.
Actual use of the StateMachine will occur in a subsequent PR. Keeping the
commented out debug prints for the time being.
------------------------
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, 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://github.com/apache/beam/blob/master/CONTRIBUTING.md#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)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](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 or the [workflows
README](https://github.com/apache/beam/blob/master/.github/workflows/README.md)
to see a list of phrases to trigger workflows.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]