diff --git a/core/src/main/java/io/grpc/internal/RetriableStream.java b/core/src/main/java/io/grpc/internal/RetriableStream.java index 7fae3f8ae39d..22aa35a0ee17 100644 --- a/core/src/main/java/io/grpc/internal/RetriableStream.java +++ b/core/src/main/java/io/grpc/internal/RetriableStream.java @@ -947,10 +947,10 @@ public void messagesAvailable(MessageProducer producer) { @Override public void onReady() { - // TODO(zdapeng): the more correct way to handle onReady - if (state.drainedSubstreams.contains(substream)) { - masterListener.onReady(); - } + // FIXME(#7089): hedging case is broken. + // TODO(zdapeng): optimization: if the substream is not drained yet, delay onReady() once + // drained and if is still ready. + masterListener.onReady(); } }