-
Notifications
You must be signed in to change notification settings - Fork 4.5k
[BEAM-22] Apply ModelEnforcement in the InProcessPipelineRunner #129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
bcc52f6 to
8613bda
Compare
|
R: @kennknowles |
| @Default.Boolean(true) | ||
| @Description( | ||
| "Controls whether the runner should ensure that all of the elements of every " | ||
| + "PCollection are not mutated after being output.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sentence reads a bit oddly. There's grammar, but then there's also the fact that you only talk about output, rather than input. Even though technically everything that is input was output too (derp) it is still helpful to describe in terms of properties of the DoFn, like "checks that a DoFn does not modify its inputs, nor modify its outputs after they have been output".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
This ensures that user code does not violate the model. Add a flag to control application of immutability enforcement. This flag is enabled by default.
Check per-element, to catch failures within a call to ProcessElement more quickly. Move wrapping of exceptions over the course of calls to ProcessElement to ParDoInProcessEvaluator.
b2a14cc to
150eac5
Compare
|
LGTM. I will merge this shortly. |
add config map to FlinkPipelineOptions
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:
[BEAM-<Jira issue #>] Description of pull requestmvn clean verify. (Even better, enableTravis-CI on your fork and ensure the whole test matrix passes).
number, if there is one.
Individual Contributor License Agreement.
This ensures that user code does not violate the model, as enforced
by ModelEnforcements.
Add a flag to control application of immutability enforcement. This flag
is enabled by default.
Also include minor touchups to ImmutabilityCheckingEnforcement.