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
[Streaming]relink grpc/absl for streaming.so #20136
Conversation
What's the case that both streaming.so and coreworker.so use the same static var? Both of streaming lib and coreworker lib introduce it in one thirdpary? |
In our internal production version, I try to bind ray streaming so library with ray_common deps, but two different statatic variables in _streaming.so and core_worker.so. It cannot find correct value within same symbol if core worker enable stats metric module. For example: grpc.enable_xxx() # Set in coreworker lib
grpc.get_xxx() == True # Get in coreworker lib
# But it's disabled in other static linked library.
grpc.get_xxx() == False |
Should we load coreworker dynamically in streaming? |
Althought we load core worker library dynamically, no exported symbol makes streaming lib unaccessable. |
Isee. |
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.
Windows failures are unrelated, merging this.
To avoid exporting thrirdparty library symbol globally, these absl/grpc libs have been applied in _streaming.so.
Side-effect:
Static variables might be uninitialized if core worker lib and streaming lib both use them.
Why are these changes needed?
Related issue number
Checks
scripts/format.sh
to lint the changes in this PR.