Sergey Soldatov created HDDS-15551:
--------------------------------------
Summary: Stream reads should respect gRPC flow control backpressure
Key: HDDS-15551
URL: https://issues.apache.org/jira/browse/HDDS-15551
Project: Apache Ozone
Issue Type: Bug
Components: Ozone Client
Affects Versions: 2.1.0
Reporter: Sergey Soldatov
Assignee: Sergey Soldatov
When ClientCallStreamObserver.isReady() returns false, the HTTP/2 send window
is exhausted. Calling onNext() immediately queues the request in the gRPC
client buffer, where it is never delivered to the DataNode's handler until the
window reopens, causing poll() to time out waiting for a response that cannot
arrive. Additionally, the backpressure wait used ozone.client.read.timeout
(default 30s) as its deadline, independent of and additive to the stream-read
poll timeout (default 10s), yielding up to 40s total delay.
Previously, the issue was hidden by closing the gRPC stream during the seek
operation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]