-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
ClientCall.cancel and ClientCallListener.onClose can be called multiple times causing RejectedExecutionException #7921
Comments
…ter end of RPC" (#7920) This reverts commit 61e0f30 (#7798). Our stub/core implementation had a bug (#7921) that might make it possible to leak cancellation through to the executor multiple times, typically when a custom interceptor is used. Revert this commit because import of grpc to google internal fails. We think the bug found in the import is legit and in our code. So we revert this change to avoid hurting users until the underlying issue is fixed.
We used to have two ClientStreamListener.closed() methods. One is simply calling the other with default arg. This doubles debugging (e.g. #7921) and sometimes unit testing work. Deleting the 2-arg method to cleanup. This PR is purely refactoring.
We used to have two ClientStreamListener.closed() methods. One is simply calling the other with default arg. This doubles debugging (e.g. grpc#7921) and sometimes unit testing work. Deleting the 2-arg method to cleanup. This PR is purely refactoring.
We can consistently reproduce failures from global presubmit, e.g. From this very test case, during debug logs: https://paste.googleplex.com/4655899021934592 I think the original change #7798 is problematic, any asynchronous interceptor call of |
Once |
fixing google3 tests to synchronize executor on |
Example stacktrace
The text was updated successfully, but these errors were encountered: