ensure the gRPC LoggingInterceptor does not throw exceptions where they cannot be handled #12416
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a hang that I've struggled with for ages: when using
--build_event_json_file
to write a BEP file, enabling--experimental_remote_grpc_log
causes the build to hang indefinitely after completion with a message of "Waiting for build events upload: JsonFormatFileTransport".The default
--build_event_json_file_path_conversion
ends up doing an RPC call when closing the BEP file. Unfortunately, this call happens after the gRPC log file has already been closed. That exception in the LoggingInterceptor is uncatchable -- it causes the RPC call to hang indefinitely. Therefore, Bazel needs to handle and consume the exception soonClose
always succeeds.