diff --git a/CHANGES.txt b/CHANGES.txt index d7cf0f51911..a07196c7ff5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -227,6 +227,7 @@ Release 0.91.0 - Unreleased HBASE-4290 HLogSplitter doesn't mark its MonitoredTask as complete in non-distributed case (todd) HBASE-4303 HRegionInfo.toString has bad quoting (todd) + HBASE-4307 race condition in CacheTestUtils (Li Pi) IMPROVEMENTS HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack) diff --git a/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java b/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java index 895a9fe7780..ed315039f0a 100644 --- a/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java +++ b/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java @@ -56,7 +56,12 @@ public class CacheTestUtils { @Override public void doAnAction() throws Exception { if (!blocksToTest.isEmpty()) { - HFileBlockPair ourBlock = blocksToTest.remove(); + HFileBlockPair ourBlock = blocksToTest.poll(); + //if we run out of blocks to test, then we should stop the tests. + if(ourBlock == null){ + ctx.stop(); + return; + } toBeTested.cacheBlock(ourBlock.blockName, ourBlock.block); Cacheable retrievedBlock = toBeTested.getBlock(ourBlock.blockName, false);