Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
In ACCUMULO-4463 caching implementations were made configurable. At the time config for a cache was placed under the general.custom.cache prefix. The idea was that a cache impl would be passed in a AccumuloConfiguration object and it could grab whatever it wanted from general.custom.cache.
In ACCUMULO-4644 the cache API was changed to not use AccumuloConfiguration because that type is not in the public API. This removed the reason for using general.custom in the first place.
When trying to implement an external cache I discovered that I can not set general.custom props in zookeeper. However the cache class is a tserver prefixed property can can be set in zookeeper. For the accumulo-ohc I wanted to do the following in the shell but could not set the general props.
config -s general.custom.cache.ohc.data.on-heap.maximumWeight=1000000000 config -s general.custom.cache.ohc.data.off-heap.capacity=10000000000 config -s tserver.cache.manager.class=accumulo.ohc.OhcCacheManager
I think it would be nice to change cache config prefix from general.custom.cache.<scope>.<user prop> to tserver.cache.config.<scope>.<user prop>. Doing this would enable setting up a cache in the shell like the following.
config -s tserver.cache.config.data.on-heap.maximumWeight=1000000000 config -s tserver.cache.config.data.off-heap.capacity=10000000000 config -s tserver.cache.manager.class=accumulo.ohc.OhcCacheManager
Part of the code for this prefix is at BlockCacheManager.java line 33
Attachments
Issue Links
- relates to
-
ACCUMULO-4463 Make caching implementation configurable
- Resolved
- links to