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]