Siyao Meng created HDDS-17345:
---------------------------------

             Summary: Intermittent failure in 
TestBackgroundContainerMetadataScannerIntegration#testCorruptionDetected
                 Key: HDDS-17345
                 URL: https://issues.apache.org/jira/browse/HDDS-17345
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: Ozone Datanode, test
            Reporter: Siyao Meng
            Assignee: Siyao Meng


{code}
Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 44.89 s <<< 
FAILURE! -- in 
org.apache.hadoop.ozone.dn.scanner.TestBackgroundContainerMetadataScannerIntegration
org.apache.hadoop.ozone.dn.scanner.TestBackgroundContainerMetadataScannerIntegration.testCorruptionDetected(ContainerTestCorruptions)[2]
 -- Time elapsed: 5.119 s <<< ERROR!
java.util.concurrent.TimeoutException: 
Timed out waiting for condition. Thread diagnostics:
...
        at 
org.apache.ozone.test.GenericTestUtils.waitFor(GenericTestUtils.java:137)
        at 
org.apache.hadoop.ozone.dn.scanner.ContainerScannerIntegrationTests.closeContainerAndWait(ContainerScannerIntegrationTests.java:169)
        at 
org.apache.hadoop.ozone.dn.scanner.ContainerScannerIntegrationTests.writeDataThenCloseContainer(ContainerScannerIntegrationTests.java:162)
        at 
org.apache.hadoop.ozone.dn.scanner.ContainerScannerIntegrationTests.writeDataThenCloseContainer(ContainerScannerIntegrationTests.java:151)
        at 
org.apache.hadoop.ozone.dn.scanner.TestBackgroundContainerMetadataScannerIntegration.testCorruptionDetected(TestBackgroundContainerMetadataScannerIntegration.java:96)
{code}

h3. Root cause

{{ContainerScannerIntegrationTests#closeContainerAndWait}} gives the datanode 
only 5 seconds to report the container as CLOSED after asking SCM to close it. 
That window covers SCM sending the close command (ReplicationManager runs every 
second) plus the datanode applying the close through Ratis, which includes 
{{KeyValueContainer#flushAndSyncDB}} (RocksDB {{flushWal}} with sync). In the 
failed run the close event for container #3 was triggered at 11:32:56.5, the 
thread dump at the timeout shows the ContainerOp thread still inside 
{{RocksDB.flushWal}}, and the container became CLOSED at 11:33:03.0, about 6.5 
seconds later. The close itself succeeded; the wait was just too short for a 
slow fsync on the CI runner.

h3. Fix

Raise the close wait timeout in {{closeContainerAndWait}} from 5 to 30 seconds. 
The helper is shared by all scanner integration tests.

- https://github.com/apache/ozone/actions/runs/39763337594/job/119785408645



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to