From eb30005251cd8c10732ecab8365ebaa45f5fcbde Mon Sep 17 00:00:00 2001 From: Ekaterina Dimitrova Date: Tue, 29 Aug 2023 11:52:08 -0400 Subject: [PATCH] Upgrade caffeine cache and fix CIDR permissions cache invalidation patch by Ekaterina Dimitrova; reviewed by Jacek Lewandowski, Ben Manes, Yifan Cai, Shailaja Koppu for CASSANDRA-18805 --- .build/parent-pom-template.xml | 2 +- CHANGES.txt | 1 + src/java/org/apache/cassandra/auth/AuthCache.java | 2 +- src/java/org/apache/cassandra/auth/CIDRPermissionsCache.java | 5 +++-- src/java/org/apache/cassandra/metrics/ChunkCacheMetrics.java | 5 +++-- .../tools/nodetool/InvalidateCIDRPermissionsCacheTest.java | 3 +++ 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.build/parent-pom-template.xml b/.build/parent-pom-template.xml index ee33ef1d9e..8c39e531fa 100644 --- a/.build/parent-pom-template.xml +++ b/.build/parent-pom-template.xml @@ -1015,7 +1015,7 @@ com.github.ben-manes.caffeine caffeine - 2.9.2 + 3.1.8 org.jctools diff --git a/CHANGES.txt b/CHANGES.txt index f28bc0e930..91b5320c18 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 5.0-alpha2 + * Upgrade caffeine cache and fix CIDR permissions cache invalidation (CASSANDRA-18805) * Remove deprecated properties in CompressionParams (CASSANDRA-18742) * Add support for repair coordinator to retry messages that timeout (CASSANDRA-18816) * Upgrade slf4j-api to 1.7.36 (CASSANDRA-18882) diff --git a/src/java/org/apache/cassandra/auth/AuthCache.java b/src/java/org/apache/cassandra/auth/AuthCache.java index 7d3a164cb4..6d78d368b4 100644 --- a/src/java/org/apache/cassandra/auth/AuthCache.java +++ b/src/java/org/apache/cassandra/auth/AuthCache.java @@ -352,7 +352,7 @@ public class AuthCache implements AuthCacheMBean, Shutdownable updatedCache = cache; // Always set as mandatory cache.policy().refreshAfterWrite().ifPresent(policy -> - policy.setExpiresAfter(activeUpdate ? getValidity() : getUpdateInterval(), TimeUnit.MILLISECONDS)); + policy.setRefreshesAfter(activeUpdate ? getValidity() : getUpdateInterval(), TimeUnit.MILLISECONDS)); cache.policy().expireAfterWrite().ifPresent(policy -> policy.setExpiresAfter(getValidity(), TimeUnit.MILLISECONDS)); cache.policy().eviction().ifPresent(policy -> policy.setMaximum(getMaxEntries())); } diff --git a/src/java/org/apache/cassandra/auth/CIDRPermissionsCache.java b/src/java/org/apache/cassandra/auth/CIDRPermissionsCache.java index 38c3a5d13f..4030e9a5c9 100644 --- a/src/java/org/apache/cassandra/auth/CIDRPermissionsCache.java +++ b/src/java/org/apache/cassandra/auth/CIDRPermissionsCache.java @@ -54,10 +54,11 @@ public class CIDRPermissionsCache extends AuthCache