Siyao Meng created HDDS-16134:
---------------------------------

             Summary: Intermittent failure in 
TestFailureHandlingByClient#testPipelineExclusionWithPipelineFailure
                 Key: HDDS-16134
                 URL: https://issues.apache.org/jira/browse/HDDS-16134
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: Ozone Client, test
            Reporter: Siyao Meng


{code}
[ERROR] Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 145.6 s 
<<< FAILURE! -- in 
org.apache.hadoop.ozone.client.rpc.TestFailureHandlingByClient
[ERROR] 
org.apache.hadoop.ozone.client.rpc.TestFailureHandlingByClient.testPipelineExclusionWithPipelineFailure
 -- Time elapsed: 40.37 s <<< FAILURE!
java.lang.AssertionError:
Expecting empty but was: [c587cf9d-ea5d-466b-a23b-e96f6cfca97f(null/null)]
        at 
org.apache.hadoop.ozone.client.rpc.TestFailureHandlingByClient.testPipelineExclusionWithPipelineFailure(TestFailureHandlingByClient.java:540)
{code}

The property under test (the failed pipeline is added to the exclude list) 
passes; the extra assertion that the exclude list's datanode set is empty is 
not an invariant. When {{watchForCommit}} times out against the shut-down 
followers, those nodes are recorded as failed servers and added to the exclude 
list via {{KeyOutputStream.handleExceptionInternal}}; they are built from UUID 
only, hence the {{(null/null)}} address. Whether that watch reply lands before 
the write hits the pipeline failure is timing-dependent, so the datanode set 
cannot be asserted empty. This mirrors the non-invariant assertion removed from 
the sibling method in HDDS-15823; the fix is to drop the 
{{getDatanodes().isEmpty()}} assertion here too.

Seen in:
 - 
https://github.com/adoroszlai/ozone-build-results/blob/master/2026/08/03/51849/integration-client/hadoop-ozone/integration-test/org.apache.hadoop.ozone.client.rpc.TestFailureHandlingByClient.txt




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to