-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[BEAM-8816] Option to load balance bundle processing w/ multiple SDK workers #10313
Conversation
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.
Very useful feature. I don't know why we're just adding this now, seems obvious to have :) Thanks for implementing!
...n/src/test/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactoryTest.java
Outdated
Show resolved
Hide resolved
...ution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
Outdated
Show resolved
Hide resolved
...ution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
Outdated
Show resolved
Hide resolved
sdks/java/core/src/test/java/org/apache/beam/sdk/options/ExperimentalOptionsTest.java
Outdated
Show resolved
Hide resolved
environmentCaches.get(environmentIndex).getUnchecked(executableStage.getEnvironment()); | ||
client.ref(); | ||
final LoadingCache<Environment, WrappedSdkHarnessClient> currentCache; | ||
if (loadBalanceBundles) { |
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.
Just an idea: Instead of conditionally switching here, could we add an interface to handle the client selection? We could have two implementations, one regular, one for load balancing. Would make the code easier to read here (necessary data structures would go into the implementation) and also avoid runtime checks.
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.
I also had that idea, maybe as a follow-up.
c7573b7
to
c8595ec
Compare
CC: @rakeshcusat |
👍 |
Run Java PreCommit |
A new pipeline option that allows for bundles of a given executable stage to be processed with any available SDK worker (the default is to process all bundles with the same SDK worker).
https://lists.apache.org/thread.html/59c02d8b8ea849c158deb39ad9d83af4d8fcb56570501c7fe8f79bb2%40%3Cdev.beam.apache.org%3E
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
R: @username
).[BEAM-XXX] Fixes bug in ApproximateQuantiles
, where you replaceBEAM-XXX
with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.See the Contributor Guide for more tips on how to make review process smoother.
Post-Commit Tests Status (on master branch)
Pre-Commit Tests Status (on master branch)
See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.