smengcl opened a new pull request, #11506:
URL: https://github.com/apache/ozone/pull/11506

   Generated-by: Claude Code (Opus 5.5)
   
   ## What changes were proposed in this pull request?
   
   
`TestFailureHandlingByClient#testContainerExclusionWithClosedContainerException`
 timed out in `waitForContainerClose`, waiting for a container to be present on 
a datanode.
   
   The previous test in the class shut down two datanodes of a pipeline, and 
`restartDownDataNodes` restarted them. That method only waits for the datanodes 
to register with SCM, not for their Ratis groups to elect a leader. In the 
failing run the surviving peer kept failing vote requests to the restarted 
peers with `UNAVAILABLE: io exception`, so the group had no leader for about 38 
seconds. SCM still allocated the test key's first block on that pipeline. The 
write timed out with `RaftRetryFailureException` and the client moved the data 
to a new block on another pipeline, but the test read the container ID from 
`streamEntryList.get(0)`, which was never created on any datanode.
   
   The other tests in the class also assume their first block lands on a 
healthy pipeline, so the fix is in `restartDownDataNodes`: after the cluster is 
ready, wait until every Ratis group on each restarted datanode has a leader.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-16967
   
   ## How was this patch tested?
   
   - Checkstyle clean.
   - A local run could not be used: on macOS a mini cluster datanode fails its 
volume check and exits the fork, unrelated to this change.
   - 10x10 
[flaky-test-check](https://github.com/smengcl/hadoop-ozone/actions/runs/38362647581)
 on this branch: in progress
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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