-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Support dependencies and remote registration in the typescript SDK. #22132
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
|
R: @damccorm |
Codecov Report
@@ Coverage Diff @@
## master #22132 +/- ##
==========================================
+ Coverage 73.99% 74.03% +0.04%
==========================================
Files 703 703
Lines 92936 93649 +713
==========================================
+ Hits 68769 69337 +568
- Misses 22901 23046 +145
Partials 1266 1266
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
|
Assigning reviewers. If you would like to opt out of this review, comment R: @AnandInguva for label python. Available commands:
The PR bot will only process comments in the main thread (not review comments). |
| if overrides: | ||
| _LOGGER.warning("Discarding invalid overrides: %s", overrides) | ||
| if retain_unknown_options: | ||
| result.update(overrides) |
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.
Above, we check:
if (drop_default and parser.get_default(k) == result[k] and
not isinstance(parser.get_default(k), ValueProvider)):
del result[k]
Do we need to do something similar here?
If so (or maybe regardless), it might be cleaner to conditionally do something like for k in overrides instead of for k in list(result) above when retain_unkown_options is set. That also keeps any future updates in one place
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.
The difficulty is that the set of pipeline options is actually the union of what's in result and what's in overrides. Also, we don't necessarily know what the defaults are for values that don't come from flags.
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.
Also, we don't necessarily know what the defaults are for values that don't come from flags.
I guess my point is, will we ever know what the defaults are? If so, its probably worth keeping?
I still think we could consolidate - even though the set of pipeline options is the union of result and overrides, we're only adding the overrides in the previous loop so I think for k in overrides would be valid in this case.
Regardless, its at most a small code cleanliness win (if that), so I'm good leaving it as is.
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.
Correct, we need to keep things if we don't know (for sure) what the default is.
We can't easily consolidate because as well as things in overrides that don't work for parser.get_default (or at least are not safe to use the guessed default) there may be things already in result that are not in overrides that we want to remove because they have default values.
I agree this code is all very messy. Were I to do it again I would probably try better to detangle the argument parsing code from PipelineOptions.
robertwb
left a comment
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.
Thanks for looking at this!
|
Run Python PreCommit |
|
I suspect that the change to pipeline options here broke Python load tests. First failure is here: https://ci-beam.apache.org/job/beam_LoadTests_Python_ParDo_Dataflow_Streaming/659/ With error log: I haven't root caused this yet. I'll keep digging myself, but if you have any insight it would be appreciated. |
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
R: @username).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.CHANGES.mdwith noteworthy changes.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.