From 466162140afda23f5142c967bf6b31d52fc0a389 Mon Sep 17 00:00:00 2001 From: Wellington Ramos Chevreuil Date: Fri, 19 Dec 2025 10:21:58 +0000 Subject: [PATCH] HBASE-29783 Fix flaky TestVerifyBucketCacheFile.testRetrieveFromFile test (#7561) Signed-off-by: Peter Somogyi Change-Id: I57fdef54e953a94a24020c99c3ebbc2741fdf519 --- .../io/hfile/bucket/TestVerifyBucketCacheFile.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestVerifyBucketCacheFile.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestVerifyBucketCacheFile.java index c6bc8da5f6b1..349f94ebeb44 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestVerifyBucketCacheFile.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestVerifyBucketCacheFile.java @@ -140,10 +140,10 @@ public void testRetrieveFromFile() throws Exception { FileSystems.getDefault().getPath(testDir.toString(), "bucket.cache"); assertTrue(Files.deleteIfExists(cacheFile)); // can't restore cache from file - recoveredBucketCache = new BucketCache("file:" + testDir + "/bucket.cache", capacitySize, - constructedBlockSize, constructedBlockSizes, writeThreads, writerQLen, - testDir + "/bucket.persistence" + name.getMethodName()); - assertTrue(recoveredBucketCache.waitForCacheInitialization(10000)); + recoveredBucketCache = + new BucketCache("file:" + testDir + "/bucket.cache", capacitySize, constructedBlockSize, + constructedBlockSizes, writeThreads, writerQLen, testDir + "/bucket.persistence"); + waitPersistentCacheValidation(conf, bucketCache); assertEquals(0, recoveredBucketCache.getAllocator().getUsedSize()); assertEquals(0, recoveredBucketCache.backingMap.size()); BlockCacheKey[] newKeys = CacheTestUtils.regenerateKeys(blocks, names); @@ -512,6 +512,7 @@ private void cacheAndWaitUntilFlushedToBucket(BucketCache cache, BlockCacheKey c } private void waitPersistentCacheValidation(Configuration config, final BucketCache bucketCache) { - Waiter.waitFor(config, 5000, () -> bucketCache.getBackingMapValidated().get()); + Waiter.waitFor(config, 5000, + () -> bucketCache.getBackingMapValidated().get() && bucketCache.isCacheEnabled()); } }