Siyao Meng created HDDS-16875:
---------------------------------
Summary: Intermittent failure in
TestCloseContainer#testCloseClosedContainer
Key: HDDS-16875
URL: https://issues.apache.org/jira/browse/HDDS-16875
Project: Apache Ozone
Issue Type: Sub-task
Components: SCM, test
Reporter: Siyao Meng
Assignee: Siyao Meng
{code}
org.apache.hadoop.hdds.scm.TestCloseContainer.testCloseClosedContainer -- Time
elapsed: 13.94 s <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: not equal but was: <0>
at
org.junit.jupiter.api.Assertions.assertNotEquals(Assertions.java:2121)
at
org.apache.hadoop.hdds.scm.TestCloseContainer.testCloseClosedContainer(TestCloseContainer.java:203)
{code}
h3. Root cause
The test waits until each datanode has the container CLOSED and has written the
checksum file, then immediately asserts that every replica known to SCM has a
non zero data checksum. On the datanode, {{KeyValueHandler#closeContainer}}
marks the container CLOSED, then computes and persists the checksum, and only
then sends the ICR carrying it. So the datanode side conditions can be
satisfied while that ICR is still in flight, and SCM still holds the replica
from an earlier report with checksum 0.
HDDS-13346 fixed the same race in {{testContainerChecksumForClosedContainer}}
of the same class, but not here.
h3. Fix
Wait for SCM to see non zero checksums for all replicas, using the same
{{GenericTestUtils.waitFor}} check as HDDS-13346.
- https://github.com/apache/ozone/actions/runs/38081405199/job/114300830882
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]