From 71a60b9be91b363997f83c71391b5d80868f5d1c Mon Sep 17 00:00:00 2001 From: Mark Tsai Date: Fri, 4 Sep 2026 10:10:12 +0800 Subject: [PATCH] HDDS-16135. Fix remaining intermittent failures in TestKeyLifecycleService --- .../ozone/om/service/TestKeyLifecycleService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestKeyLifecycleService.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestKeyLifecycleService.java index 048cafd5bc06..e67e8468286f 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestKeyLifecycleService.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/service/TestKeyLifecycleService.java @@ -375,9 +375,14 @@ void testScanStatePiggybackedOnDelete(BucketLayout bucketLayout, boolean createP // Verify that scan state was updated through the DeleteKeysRequest String bucketKey = metadataManager.getBucketKey(volumeName, bucketName); - OmLifecycleScanState scanState = metadataManager.getLifecycleScanStateTable().get(bucketKey); - assertNotNull(scanState); - assertNotNull(scanState.getScanEndTime()); + GenericTestUtils.waitFor(() -> { + try { + OmLifecycleScanState scanState = metadataManager.getLifecycleScanStateTable().get(bucketKey); + return scanState != null && scanState.getScanEndTime() != null; + } catch (IOException e) { + return false; + } + }, WAIT_CHECK_INTERVAL, 10000); deleteLifecyclePolicy(volumeName, bucketName); } @@ -2594,6 +2599,7 @@ void testMultipleDirectoriesMatched(String keyPrefix1, String keyPrefix2, String LOG.info("Dir {} refreshes its modification time", dirName); KeyInfoWithVolumeContext keyInfo2 = getDirectory(volumeName, bucketName, dirName); assertNotEquals(keyInfo.getKeyInfo().getModificationTime(), keyInfo2.getKeyInfo().getModificationTime()); + awaitDirCacheDrained(volumeName, bucketName); } // resume KeyLifecycleService bucket scan