-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
[Dashboard] Fix gRPC GCS healthcheck thread #19360
[Dashboard] Fix gRPC GCS healthcheck thread #19360
Conversation
It turns out that grpc doesn't work well when the process is multi-threaded. Even though we are careful about creating channels and making them thread local. There are some hidden global context in gRPC making it hard to have two async channels in different thread. See grpc/grpc#25364 Closes ray-project#19200
@simon-mo what is the testing plan for this? Can we add a release test to avoid regressions in the future? |
@edoakes I digged around, there is actually a test that's passing in master that test this functionality. So the code/logic actually works, it just prints these annoy error messages. ray/dashboard/tests/test_dashboard.py Lines 643 to 661 in ad94eb0
I have manually tested that the warning/errors go away and the functionality still works. |
It turns out that grpc doesn't work well when the process is
multi-threaded. Even though we are careful about creating channels
and making them thread local. There are some hidden global context in
gRPC making it hard to have two async channels in different thread.
See grpc/grpc#25364
Closes #19200
Why are these changes needed?
Related issue number
Checks
scripts/format.sh
to lint the changes in this PR.