Repository navigation
Fix flake from interrupted remote channel shutdown - #9
Open
4genealogic-filmset wants to merge 1 commit into
Open
4genealogic-filmset wants to merge 1 commit into
4genealogic-filmset wants to merge 1 commit into
Conversation
blainefreestone
approved these changes
Oct 6, 2026
blainefreestone
left a comment
There was a problem hiding this comment.
I imagine Bazel maintainers could be more opinionated about this but for our purposes this is definitely good.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
An interrupt received while Bazel waits for a remote gRPC channel to terminate is wrapped in
IOException, then promoted toAssertionErrorbyReferenceCountedChannel. That kills the Bazel server and flakes the build withServer terminated abruptly.Finish channel shutdown through interruptions, preserve the existing total timeout, and restore the thread's interrupt status afterward. The existing protection only handles an interrupt already present when shutdown begins.
Four of six matching infrastructure failures in the 72-hour audit show this cause chain. The other two socket closures have no confirmed cause and are outside this fix's claimed coverage.
Based on deployed Bazel
9.2.9993(449456745b83d5ec3e270af623e0b9cc189d5a3e), targeting9.2.0-with-backported-fixes. Rollout requires publishing and adopting the next fork release.Validation:
git diff --checkpasses.Test command:
bazel test //src/test/java/com/google/devtools/build/lib/remote/grpc:grpc --noshow_progress --test_output=errors.