diff --git a/core/src/main/java/io/grpc/internal/RetriableStream.java b/core/src/main/java/io/grpc/internal/RetriableStream.java index 084c367db3f..500b869913a 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);