diff --git a/src/main/java/com/google/devtools/build/lib/remote/grpc/ChannelConnectionFactory.java b/src/main/java/com/google/devtools/build/lib/remote/grpc/ChannelConnectionFactory.java index 1e626fff82197e..96d4d3af24f63e 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/grpc/ChannelConnectionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/remote/grpc/ChannelConnectionFactory.java @@ -46,7 +46,10 @@ public ClientCall call( @Override public void close() throws IOException { - channel.shutdown(); + // There is a bug (b/183340374) in gRPC that client doesn't try to close connections with + // shutdown() if the channel received GO_AWAY frames. Using shutdownNow() here as a + // workaround. + channel.shutdownNow(); try { channel.awaitTermination(Integer.MAX_VALUE, SECONDS); } catch (InterruptedException e) {