zhangduo created HBASE-13301: -------------------------------- Summary: Possible memory leak in BucketCache Key: HBASE-13301 URL: https://issues.apache.org/jira/browse/HBASE-13301 Project: HBase Issue Type: Bug Components: BlockCache Reporter: zhangduo Assignee: zhangduo
{code:title=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; } ... {code} I think the problem is here. We remove a BucketEntry that should not remove by us, but we do not put it back and also do not do any clean up. -- This message was sent by Atlassian JIRA (v6.3.4#6332)