From 313073993a54bddb89557ba992fc4068b4313a5d Mon Sep 17 00:00:00 2001 From: Larry Safran Date: Fri, 26 Jan 2024 18:58:12 -0800 Subject: [PATCH] Fix retries that timeout hanging forever. Fixes #10336 --- core/src/main/java/io/grpc/internal/RetriableStream.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/io/grpc/internal/RetriableStream.java b/core/src/main/java/io/grpc/internal/RetriableStream.java index f301eee1f98..cb8904a7fe0 100644 --- a/core/src/main/java/io/grpc/internal/RetriableStream.java +++ b/core/src/main/java/io/grpc/internal/RetriableStream.java @@ -195,7 +195,10 @@ public void run() { } } if (retryFuture != null) { - retryFuture.cancel(false); + boolean cancelled = retryFuture.cancel(false); + if (cancelled) { + inFlightSubStreams.decrementAndGet(); + } } if (hedgingFuture != null) { hedgingFuture.cancel(false);