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]

Reply via email to