Merge branch 'stable-3.5' * stable-3.5: Fix Flogger formatting of exception in AutoAdjustCachesCommand Remove LoadingCache casts Postpone call to get() when loading from the in-memory cache Extract ChronicleMapStoreMetrics to its own class file Ignore the BytesStore raw type Emit metric to track number of put failures Move tryPut to ChronicleMapStore Move store related metrics to ChronicleMapStore Introduce ChronicleMapStore Remove redundant store parameter from ChronicleMapCacheImpl Do not throw when failing to store into chronicle-map Expose max auto resizes metric Allow to specify number of entries in auto-adjust-caches Fix link to auto-adjust caches in tuning docs Add acceptance test for REST auto-tuning for single cache Allow to restrict the caches to auto-tune Increase the memory used in acceptance tests build.md: Use correct path for external_plugin_deps.bzl Change-Id: Ia7e9afa521ea430a3647af5243cd4b3c319ec595
diff --git a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheFactory.java b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheFactory.java index 1161699..5f9b805 100644 --- a/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheFactory.java +++ b/src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheFactory.java
@@ -21,7 +21,6 @@ import com.google.gerrit.extensions.events.LifecycleListener; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.metrics.MetricMaker; -import com.google.gerrit.server.cache.CacheBackend; import com.google.gerrit.server.cache.MemoryCacheFactory; import com.google.gerrit.server.cache.PersistentCacheBaseFactory; import com.google.gerrit.server.cache.PersistentCacheDef; @@ -82,24 +81,20 @@ } @Override - public <K, V> Cache<K, V> buildImpl( - PersistentCacheDef<K, V> in, long limit, CacheBackend backend) { + public <K, V> Cache<K, V> buildImpl(PersistentCacheDef<K, V> in, long limit) { ChronicleMapCacheConfig config = configFactory.create( in.configKey(), fileName(cacheDir, in.name(), in.version()), in.expireAfterWrite(), in.refreshAfterWrite()); - return build(in, backend, config, metricMaker); + return build(in, config, metricMaker); } @SuppressWarnings("unchecked") @VisibleForTesting <K, V> Cache<K, V> build( - PersistentCacheDef<K, V> in, - CacheBackend backend, - ChronicleMapCacheConfig config, - MetricMaker metricMaker) { + PersistentCacheDef<K, V> in, ChronicleMapCacheConfig config, MetricMaker metricMaker) { ChronicleMapCacheDefProxy<K, V> def = new ChronicleMapCacheDefProxy<>(in); ChronicleMapCacheImpl<K, V> cache; @@ -113,7 +108,7 @@ LoadingCache<K, TimedValue<V>> mem = (LoadingCache<K, TimedValue<V>>) - memCacheFactory.build(def, (CacheLoader<K, V>) memLoader, backend); + memCacheFactory.build(def, (CacheLoader<K, V>) memLoader); cache = new ChronicleMapCacheImpl<>( @@ -134,14 +129,14 @@ @Override public <K, V> LoadingCache<K, V> buildImpl( - PersistentCacheDef<K, V> in, CacheLoader<K, V> loader, long limit, CacheBackend backend) { + PersistentCacheDef<K, V> in, CacheLoader<K, V> loader, long limit) { ChronicleMapCacheConfig config = configFactory.create( in.configKey(), fileName(cacheDir, in.name(), in.version()), in.expireAfterWrite(), in.refreshAfterWrite()); - return build(in, loader, backend, config, metricMaker); + return build(in, loader, config, metricMaker); } @SuppressWarnings("unchecked") @@ -149,7 +144,6 @@ public <K, V> LoadingCache<K, V> build( PersistentCacheDef<K, V> in, CacheLoader<K, V> loader, - CacheBackend backend, ChronicleMapCacheConfig config, MetricMaker metricMaker) { ChronicleMapCacheImpl<K, V> cache; @@ -165,7 +159,7 @@ LoadingCache<K, TimedValue<V>> mem = (LoadingCache<K, TimedValue<V>>) - memCacheFactory.build(def, (CacheLoader<K, V>) memLoader, backend); + memCacheFactory.build(def, (CacheLoader<K, V>) memLoader); cache = new ChronicleMapCacheImpl<>(
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java index 444762b..872503c 100644 --- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java +++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheIT.java
@@ -22,7 +22,6 @@ import com.google.gerrit.acceptance.UseLocalDisk; import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.api.accounts.AccountInput; -import com.google.gerrit.server.cache.CacheBackend; import com.google.gerrit.server.cache.PersistentCacheFactory; import com.google.inject.Inject; import org.junit.Test; @@ -47,8 +46,7 @@ public void shouldBuildInMemoryCacheWhenDiskLimitIsNegative() { final int negativeDiskLimit = -1; final Cache<String, String> cache = - persistentCacheFactory.build( - new TestPersistentCacheDef("foo", null, negativeDiskLimit, 0), CacheBackend.CAFFEINE); + persistentCacheFactory.build(new TestPersistentCacheDef("foo", null, negativeDiskLimit, 0)); assertThat(cache.getClass().getSimpleName()).isEqualTo("CaffeinatedGuavaCache"); } @@ -58,8 +56,7 @@ final int positiveDiskLimit = 1024; assertThat( persistentCacheFactory.build( - new TestPersistentCacheDef("foo", null, positiveDiskLimit, ZERO_INMEMORY_CACHE), - CacheBackend.CAFFEINE)) + new TestPersistentCacheDef("foo", null, positiveDiskLimit, ZERO_INMEMORY_CACHE))) .isInstanceOf(ChronicleMapCacheImpl.class); }
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java index 0041c53..8cf79fc 100644 --- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java +++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java
@@ -26,7 +26,6 @@ import com.google.gerrit.common.Nullable; import com.google.gerrit.metrics.DisabledMetricMaker; import com.google.gerrit.metrics.MetricMaker; -import com.google.gerrit.server.cache.CacheBackend; import com.google.gerrit.server.cache.MemoryCacheFactory; import com.google.gerrit.server.cache.serialize.CacheSerializer; import com.google.gerrit.server.cache.serialize.StringCacheSerializer; @@ -619,11 +618,10 @@ if (withLoader) { return (ChronicleMapCacheImpl<String, String>) - cacheFactory.build( - cacheDef, cacheDef.loader(), CacheBackend.CAFFEINE, config, metricMaker); + cacheFactory.build(cacheDef, cacheDef.loader(), config, metricMaker); } return (ChronicleMapCacheImpl<String, String>) - cacheFactory.build(cacheDef, CacheBackend.CAFFEINE, config, metricMaker); + cacheFactory.build(cacheDef, config, metricMaker); } private ChronicleMapCacheImpl<String, String> newCacheWithLoader(@Nullable String loadedValue) {