Skip to content

Commit

Permalink
oldValue arg is no longer relevant for recordRamBytes() method
Browse files Browse the repository at this point in the history
  • Loading branch information
magibney committed Dec 18, 2024
1 parent 6aeabe4 commit 36babef
Showing 1 changed file with 12 additions and 16 deletions.
28 changes: 12 additions & 16 deletions solr/core/src/java/org/apache/solr/search/CaffeineCache.java
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ private V computeAsync(K key, IOFunction<? super K, ? extends V> mappingFunction
// We reserved the slot, so we do the work
V value = mappingFunction.apply(key);
future.complete(value); // This will update the weight and expiration
recordRamBytes(key, null, value);
recordRamBytes(key, value);
inserts.increment();
return value;
} catch (Error | RuntimeException | IOException e) {
Expand Down Expand Up @@ -262,7 +262,7 @@ public V computeIfAbsent(K key, IOFunction<? super K, ? extends V> mappingFuncti
if (value == null) {
return null;
}
recordRamBytes(key, null, value);
recordRamBytes(key, value);
inserts.increment();
return value;
});
Expand All @@ -282,31 +282,27 @@ public V put(K key, V val) {
// between `val` and `old`, caffeine does _not_ invoke RemovalListener,
// so the entry is not decremented for the replaced value (hence we
// don't need to increment ram bytes for the entry either).
recordRamBytes(key, null, val);
recordRamBytes(key, val);
}
return old;
}

/**
* Update the estimate of used memory
* Update the estimate of used memory.
*
* <p>NOTE: old value (in the event of replacement) adjusts {@link #ramBytes} via {@link
* #onRemoval(Object, Object, RemovalCause)}
*
* @param key the cache key
* @param oldValue the old cached value to decrement estimate (can be null)
* @param newValue the new cached value to increment estimate
*/
private void recordRamBytes(K key, V oldValue, V newValue) {
private void recordRamBytes(K key, V newValue) {
ramBytes.add(
RamUsageEstimator.sizeOfObject(newValue, RamUsageEstimator.QUERY_DEFAULT_RAM_BYTES_USED));
if (oldValue == null) {
ramBytes.add(
RamUsageEstimator.sizeOfObject(key, RamUsageEstimator.QUERY_DEFAULT_RAM_BYTES_USED));
ramBytes.add(RamUsageEstimator.LINKED_HASHTABLE_RAM_BYTES_PER_ENTRY);
if (async) ramBytes.add(RAM_BYTES_PER_FUTURE);
} else {
ramBytes.add(
-RamUsageEstimator.sizeOfObject(
oldValue, RamUsageEstimator.QUERY_DEFAULT_RAM_BYTES_USED));
}
ramBytes.add(
RamUsageEstimator.sizeOfObject(key, RamUsageEstimator.QUERY_DEFAULT_RAM_BYTES_USED));
ramBytes.add(RamUsageEstimator.LINKED_HASHTABLE_RAM_BYTES_PER_ENTRY);
if (async) ramBytes.add(RAM_BYTES_PER_FUTURE);
}

@Override
Expand Down

0 comments on commit 36babef

Please sign in to comment.