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()); } }