mirror of
https://github.com/apache/lucene.git
synced 2025-02-22 10:15:27 +00:00
SOLR-10225: fix BlockCache evictions metric to not count explicit removal
This commit is contained in:
parent
fbc844d334
commit
4990eed1b3
@ -196,6 +196,9 @@ Bug Fixes
|
||||
|
||||
* SOLR-10196: ElectionContext#runLeaderProcess can hit NPE on core close. (Mark Miller)
|
||||
|
||||
* SOLR-10225: Fix HDFS BlockCache evictions metric to not count explicit removal
|
||||
due to a directory close. (yonik)
|
||||
|
||||
Optimizations
|
||||
----------------------
|
||||
|
||||
|
@ -23,6 +23,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Cache;
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
import com.github.benmanes.caffeine.cache.RemovalCause;
|
||||
import com.github.benmanes.caffeine.cache.RemovalListener;
|
||||
|
||||
/**
|
||||
@ -75,7 +76,7 @@ public class BlockCache {
|
||||
lockCounters[i] = new AtomicInteger();
|
||||
}
|
||||
|
||||
RemovalListener<BlockCacheKey,BlockCacheLocation> listener = (blockCacheKey, blockCacheLocation, removalCause) -> releaseLocation(blockCacheKey, blockCacheLocation);
|
||||
RemovalListener<BlockCacheKey,BlockCacheLocation> listener = (blockCacheKey, blockCacheLocation, removalCause) -> releaseLocation(blockCacheKey, blockCacheLocation, removalCause);
|
||||
|
||||
cache = Caffeine.newBuilder()
|
||||
.removalListener(listener)
|
||||
@ -88,7 +89,7 @@ public class BlockCache {
|
||||
cache.invalidate(key);
|
||||
}
|
||||
|
||||
private void releaseLocation(BlockCacheKey blockCacheKey, BlockCacheLocation location) {
|
||||
private void releaseLocation(BlockCacheKey blockCacheKey, BlockCacheLocation location, RemovalCause removalCause) {
|
||||
if (location == null) {
|
||||
return;
|
||||
}
|
||||
@ -103,7 +104,9 @@ public class BlockCache {
|
||||
for (OnRelease onRelease : onReleases) {
|
||||
onRelease.release(blockCacheKey);
|
||||
}
|
||||
metrics.blockCacheEviction.incrementAndGet();
|
||||
if (removalCause.wasEvicted()) {
|
||||
metrics.blockCacheEviction.incrementAndGet();
|
||||
}
|
||||
metrics.blockCacheSize.decrementAndGet();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user