Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
BucketCache.java
public boolean evictBlock(BlockCacheKey cacheKey) { ... if (bucketEntry.equals(backingMap.remove(cacheKey))) { bucketAllocator.freeBlock(bucketEntry.offset()); realCacheSize.addAndGet(-1 * bucketEntry.getLength()); blocksByHFile.remove(cacheKey.getHfileName(), cacheKey); if (removedBlock == null) { this.blockNumber.decrementAndGet(); } } else { return false; } ...
I think the problem is here. We remove a BucketEntry that should not be removed by us, but we do not put it back and also do not do any clean up.
Attachments
Attachments
Issue Links
- relates to
-
HBASE-20789 TestBucketCache#testCacheBlockNextBlockMetadataMissing is flaky
- Resolved
- links to