ss77892 commented on PR #11080:
URL: https://github.com/apache/ozone/pull/11080#issuecomment-5958552170

   > Thanks for putting this together! @ss77892 I was able to reproduce the 
failure end to end by shortening `ozone.client.read.timeout`, and the new tests 
are indeed red without the production changes.
   > 
   > Since this PR fixes multiple reproducible issues, would it be worth 
considering separate Jira/PRs?I think that could make each behavior change 
easier to understand and review. I’ve also left two inline questions for your 
consideration. Thanks!
   
   @chihsuan  Thanks for the review and for reproducing it. Agreed, I split it. 
The PR now does only the minimum needed to fix HDDS-16241:    
   - XceiverClientGrpc.initStreamRead no longer sets a gRPC deadline on the 
streaming call. Each request is still bounded by streamReadTimeout in 
streamRead() and StreamingReader.poll().
   - StreamBlockInputStream treats DEADLINE_EXCEEDED as a connectivity issue 
and fails over to another datanode, the same way it handles UNAVAILABLE. 
Classic BlockInputStream is unchanged.
   - The datanode closes the block file of an idle streaming read (see the 
inline thread).
   The other fixes (stream poisoning, retry classification, half-closed failed 
calls, stale prefetch offset after unbuffer, request-permit exhaustion) will 
come in separate Jiras/PRs, each with its own reproducing test.
   
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to