Siyao Meng created HDDS-17077:
---------------------------------

             Summary: Intermittent failure in 
TestKeyDeletingService$Normal#checkIfDeleteServiceIsDeletingKeys
                 Key: HDDS-17077
                 URL: https://issues.apache.org/jira/browse/HDDS-17077
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: Ozone Manager, test
            Reporter: Siyao Meng
            Assignee: Siyao Meng


{code}
Tests run: 12, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 33.23 s <<< 
FAILURE! -- in org.apache.hadoop.ozone.om.service.TestKeyDeletingService$Normal
org.apache.hadoop.ozone.om.service.TestKeyDeletingService$Normal.checkIfDeleteServiceIsDeletingKeys
 -- Time elapsed: 0.616 s <<< FAILURE!
java.lang.AssertionError: 
Expecting empty but was: 
{"/checkIfDeleteServiceIsDeletingKeys/bucket0000000772/key0000000773/-9223372036854628608/0"=PurgedKey{...}}
        at 
org.apache.hadoop.ozone.om.service.TestKeyDeletingService$Normal.checkIfDeleteServiceIsDeletingKeys(TestKeyDeletingService.java:258)
{code}

h3. Root cause

{{KeyDeletingService}} increments {{deletedKeyCount}} as soon as the purge 
request is applied, but the deletedTable entries are removed from RocksDB only 
when the OM double buffer flushes. The test waits for {{deletedKeyCount}} to 
reach 100 and then iterates the deletedTable through 
{{getPendingDeletionKeys}}, which reads the DB. In the failing run the last 
service run purged a single key ({{key0000000773}}) and the test read the table 
before that purge was flushed.

{{checkDeletedTableCleanUpForSnapshot}} has the same check after the same kind 
of wait.

h3. Fix

Call {{om.awaitDoubleBufferFlush()}} before reading the deletedTable in both 
tests.

- https://github.com/apache/ozone/actions/runs/38935632776/job/117106007880



--
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