-
Notifications
You must be signed in to change notification settings - Fork 4.5k
[BEAM-117] Runners should be resilient to DisplayData failure #315
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
Display data is collected from PTransforms at Pipeline construction time. Collecting display data runs user code from provided transforms and fn's. These components should be designed not to throw during pipeline construction, however we also shouldn't fail a pipeline if this code does fail. This PR adds resiliency to the DataflowPipelineTranslator, where we collect display data for the Dataflow runner, and also a RunnableOnService test to verify that all runners are resilient to display data failures. Other runners are not yet using display data, but will get this validation for free when they do.
|
R: @dhalperi |
| */ | ||
| @Test | ||
| @Category(RunnableOnService.class) | ||
| public void testRunnersResilientToDispalyDataExceptions() { |
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.
display
|
LGTM -- let me know when tests are green and typos are fixed. See if @bjchambers wants to sign off as well? |
|
I've addressed all feedback so far. Please take another look. @dhalperi / @bjchambers |
|
@dhalperi 🍏 📗 💚 !!! |
|
Per discussion with bchambers@ -- looks like you want to revisit this to put a message in display data that there was an exception getting the display data? |
|
I've addressed all feedback so far. Please take another look. @dhalperi |
|
Backport: GoogleCloudPlatform/DataflowJavaSDK#230 |
* Make IdentityWindowFn and NeverTrigger available This will be used as part of the new PAssert IdentityWindowFn remains package-private to restrict usage. (cherry picked from commit c9a1efa) * fixup! Checkstyle validation
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).
<Jira issue #>in the title with the actual Jira issuenumber, if there is one.
Individual Contributor License Agreement.
Display data is collected from PTransforms at Pipeline construction
time. Collecting display data runs user code from provided transforms
and fn's. These components should be designed not to throw during
pipeline construction, however we also shouldn't fail a pipeline
if this code does fail.
This PR adds resiliency to the DataflowPipelineTranslator, where
we collect display data for the Dataflow runner, and also a
RunnableOnService test to verify that all runners are resilient to
display data failures. Other runners are not yet using display data,
but will get this validation for free when they do.