This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push:
new 9e40a1e068 Replaced tserv block cache mgr property with a more general
one (#5231)
9e40a1e068 is described below
commit 9e40a1e0687812d9250008a159a6dc000b46bddb
Author: Dave Marion <[email protected]>
AuthorDate: Wed Jan 8 09:35:35 2025 -0500
Replaced tserv block cache mgr property with a more general one (#5231)
The block cache manager is not only used in the tserver, it's
also used in the sserver and by a client that might be reading
from an RFile.
Closes #4663
---
.../main/java/org/apache/accumulo/core/conf/Property.java | 15 ++++++++++++---
.../blockfile/cache/impl/BlockCacheManagerFactory.java | 10 ++++++++--
.../core/file/blockfile/cache/BlockCacheFactoryTest.java | 4 ++--
.../core/file/blockfile/cache/TestLruBlockCache.java | 14 +++++++-------
.../org/apache/accumulo/core/file/rfile/RFileTest.java | 4 ++--
5 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index b1a658ea2f..981799f6d0 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -294,6 +294,12 @@ public enum Property {
+ " user-implementations of pluggable Accumulo features, such as the
balancer"
+ " or volume chooser.",
"2.0.0"),
+ GENERAL_CACHE_MANAGER_IMPL("general.block.cache.manager.class",
+
"org.apache.accumulo.core.file.blockfile.cache.lru.LruBlockCacheManager",
PropertyType.STRING,
+ "Specifies the class name of the block cache factory implementation."
+ + " Alternative implementation is"
+ + "
org.apache.accumulo.core.file.blockfile.cache.tinylfu.TinyLfuBlockCacheManager.",
+ "2.1.4"),
GENERAL_DELEGATION_TOKEN_LIFETIME("general.delegation.token.lifetime", "7d",
PropertyType.TIMEDURATION,
"The length of time that delegation tokens and secret keys are valid.",
"1.7.0"),
@@ -532,7 +538,9 @@ public enum Property {
"Time to wait for clients to continue scans before closing a session.",
"1.3.5"),
TSERV_DEFAULT_BLOCKSIZE("tserver.default.blocksize", "1M",
PropertyType.BYTES,
"Specifies a default blocksize for the tserver caches.", "1.3.5"),
- TSERV_CACHE_MANAGER_IMPL("tserver.cache.manager.class",
+ @Deprecated(since = "2.1.4")
+ @ReplacedBy(property = Property.GENERAL_CACHE_MANAGER_IMPL)
+ TSERV_CACHE_MANAGER_IMPL("general.cache.manager.class",
"org.apache.accumulo.core.file.blockfile.cache.lru.LruBlockCacheManager",
PropertyType.STRING,
"Specifies the class name of the block cache factory implementation."
+ " Alternative implementation is"
@@ -1873,8 +1881,9 @@ public enum Property {
TSERV_MAX_MESSAGE_SIZE, GENERAL_MAX_MESSAGE_SIZE, RPC_MAX_MESSAGE_SIZE,
// block cache options
- TSERV_CACHE_MANAGER_IMPL, TSERV_DATACACHE_SIZE, TSERV_INDEXCACHE_SIZE,
- TSERV_SUMMARYCACHE_SIZE, SSERV_DATACACHE_SIZE, SSERV_INDEXCACHE_SIZE,
SSERV_SUMMARYCACHE_SIZE,
+ GENERAL_CACHE_MANAGER_IMPL, TSERV_CACHE_MANAGER_IMPL,
TSERV_DATACACHE_SIZE,
+ TSERV_INDEXCACHE_SIZE, TSERV_SUMMARYCACHE_SIZE, SSERV_DATACACHE_SIZE,
SSERV_INDEXCACHE_SIZE,
+ SSERV_SUMMARYCACHE_SIZE,
// blocksize options
TSERV_DEFAULT_BLOCKSIZE, SSERV_DEFAULT_BLOCKSIZE,
diff --git
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/impl/BlockCacheManagerFactory.java
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/impl/BlockCacheManagerFactory.java
index b72979d729..d62a5e8d46 100644
---
a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/impl/BlockCacheManagerFactory.java
+++
b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/impl/BlockCacheManagerFactory.java
@@ -39,7 +39,10 @@ public class BlockCacheManagerFactory {
*/
public static synchronized BlockCacheManager
getInstance(AccumuloConfiguration conf)
throws Exception {
- String impl = conf.get(Property.TSERV_CACHE_MANAGER_IMPL);
+ @SuppressWarnings("deprecation")
+ var cacheManagerProp =
+ conf.resolve(Property.GENERAL_CACHE_MANAGER_IMPL,
Property.TSERV_CACHE_MANAGER_IMPL);
+ String impl = conf.get(cacheManagerProp);
Class<? extends BlockCacheManager> clazz =
ClassLoaderUtil.loadClass(impl, BlockCacheManager.class);
LOG.info("Created new block cache manager of type: {}",
clazz.getSimpleName());
@@ -55,7 +58,10 @@ public class BlockCacheManagerFactory {
*/
public static synchronized BlockCacheManager
getClientInstance(AccumuloConfiguration conf)
throws Exception {
- String impl = conf.get(Property.TSERV_CACHE_MANAGER_IMPL);
+ @SuppressWarnings("deprecation")
+ var cacheManagerProp =
+ conf.resolve(Property.GENERAL_CACHE_MANAGER_IMPL,
Property.TSERV_CACHE_MANAGER_IMPL);
+ String impl = conf.get(cacheManagerProp);
Class<? extends BlockCacheManager> clazz =
Class.forName(impl).asSubclass(BlockCacheManager.class);
LOG.info("Created new block cache factory of type: {}",
clazz.getSimpleName());
diff --git
a/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/BlockCacheFactoryTest.java
b/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/BlockCacheFactoryTest.java
index 1cbfbd289f..f6c3266603 100644
---
a/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/BlockCacheFactoryTest.java
+++
b/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/BlockCacheFactoryTest.java
@@ -37,7 +37,7 @@ public class BlockCacheFactoryTest {
public void testCreateLruBlockCacheFactory() throws Exception {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManagerFactory.getInstance(cc);
}
@@ -45,7 +45,7 @@ public class BlockCacheFactoryTest {
public void testCreateTinyLfuBlockCacheFactory() throws Exception {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
TinyLfuBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
TinyLfuBlockCacheManager.class.getName());
BlockCacheManagerFactory.getInstance(cc);
}
diff --git
a/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/TestLruBlockCache.java
b/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/TestLruBlockCache.java
index b6b0ea3962..e09bad27a8 100644
---
a/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/TestLruBlockCache.java
+++
b/core/src/test/java/org/apache/accumulo/core/file/blockfile/cache/TestLruBlockCache.java
@@ -57,7 +57,7 @@ public class TestLruBlockCache {
@Test
public void testConfiguration() {
ConfigurationCopy cc = new ConfigurationCopy();
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(1019));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(1000023));
cc.set(Property.TSERV_DATACACHE_SIZE, Long.toString(1000027));
@@ -99,7 +99,7 @@ public class TestLruBlockCache {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManager manager = BlockCacheManagerFactory.getInstance(cc);
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(blockSize));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(maxSize));
@@ -133,7 +133,7 @@ public class TestLruBlockCache {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManager manager = BlockCacheManagerFactory.getInstance(cc);
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(blockSize));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(maxSize));
@@ -191,7 +191,7 @@ public class TestLruBlockCache {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManager manager = BlockCacheManagerFactory.getInstance(cc);
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(blockSize));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(maxSize));
@@ -241,7 +241,7 @@ public class TestLruBlockCache {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManager manager = BlockCacheManagerFactory.getInstance(cc);
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(blockSize));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(maxSize));
@@ -309,7 +309,7 @@ public class TestLruBlockCache {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManager manager = BlockCacheManagerFactory.getInstance(cc);
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(blockSize));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(maxSize));
@@ -434,7 +434,7 @@ public class TestLruBlockCache {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
BlockCacheManager manager = BlockCacheManagerFactory.getInstance(cc);
cc.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(blockSize));
cc.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(maxSize));
diff --git
a/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
b/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
index 082e0d6ea7..33545639ef 100644
--- a/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
@@ -308,7 +308,7 @@ public class RFileTest {
DefaultConfiguration dc = DefaultConfiguration.getInstance();
ConfigurationCopy cc = new ConfigurationCopy(dc);
- cc.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ cc.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
try {
manager = BlockCacheManagerFactory.getInstance(cc);
} catch (Exception e) {
@@ -1726,7 +1726,7 @@ public class RFileTest {
byte[] data = baos.toByteArray();
SeekableByteArrayInputStream bais = new SeekableByteArrayInputStream(data);
FSDataInputStream in2 = new FSDataInputStream(bais);
- aconf.set(Property.TSERV_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
+ aconf.set(Property.GENERAL_CACHE_MANAGER_IMPL,
LruBlockCacheManager.class.getName());
aconf.set(Property.TSERV_DEFAULT_BLOCKSIZE, Long.toString(100000));
aconf.set(Property.TSERV_DATACACHE_SIZE, Long.toString(100000000));
aconf.set(Property.TSERV_INDEXCACHE_SIZE, Long.toString(100000000));