From 880def8398b3a670e9b9f513974feb56716f8c8d Mon Sep 17 00:00:00 2001 From: Larry Safran Date: Wed, 31 Jan 2024 13:15:35 -0800 Subject: [PATCH] Fix retries that timeout hanging forever. (#10855) 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);