This is an automated email from the ASF dual-hosted git repository. dlmarion pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/main by this push: new 2c783d99 Add sections for pluggable block caches and scan execution hints that control caching (#323) 2c783d99 is described below commit 2c783d99606cd5780af2659372e904a3c1d65062 Author: Dave Marion <dlmar...@apache.org> AuthorDate: Wed Jun 15 11:01:13 2022 -0400 Add sections for pluggable block caches and scan execution hints that control caching (#323) Closes #306 --- _docs-2/administration/caching.md | 3 +++ _docs-2/administration/scan-executors.md | 13 +++++++++++++ _docs-2/getting-started/features.md | 6 ++++++ 3 files changed, 22 insertions(+) diff --git a/_docs-2/administration/caching.md b/_docs-2/administration/caching.md index 91b673bc..1438cbda 100644 --- a/_docs-2/administration/caching.md +++ b/_docs-2/administration/caching.md @@ -18,6 +18,9 @@ for tables where read performance is critical. ## Configuration +The {% plink tserver.cache.manager.class %} property controls which block cache implementation is used within the tablet server. Users +can supply their own implementation and set custom configuration properties to control it's behavior (see org.apache.accumulo.core.spi.cache.BlockCacheManager$Configuration.java). + The index and data block caches are configured for tables by the following properties: * {% plink table.cache.block.enable %} - enables data block cache on the table (default is `false`) diff --git a/_docs-2/administration/scan-executors.md b/_docs-2/administration/scan-executors.md index 6b22714d..0a73edd7 100644 --- a/_docs-2/administration/scan-executors.md +++ b/_docs-2/administration/scan-executors.md @@ -159,6 +159,19 @@ priority of 1. scan -t tex --execution-hints scan_type=alpha ``` +Execution Hints can also be used to influence how the block caches are used for +a scan. The following configuration would modify the `gamma` executor to use blocks +in the cache if they are already cached, but would never load mising blocks into the +cache. + +``` +config -t tex -s table.scan.dispatcher.opts.cacheUsage.gamma=opportunistic +``` + +Other valid values are `disabled` which does not use data in the block caches, +`enabled` which uses the block cache as it normally would and `table` which enables +the block cache for the scan if it's enabled on the table. + [tserver]: {{ page.docs_baseurl }}/getting-started/design#tablet-server-1 [setExecutionHints]: {% jurl org.apache.accumulo.core.client.ScannerBase#setExecutionHints-java.util.Map- %} diff --git a/_docs-2/getting-started/features.md b/_docs-2/getting-started/features.md index c7257c97..ab83b1ba 100644 --- a/_docs-2/getting-started/features.md +++ b/_docs-2/getting-started/features.md @@ -299,6 +299,12 @@ it is very unlikely that more data will be written to it, and thus paying the pe to re-write a large file can be avoided. Implementations of this compaction strategy can be used to optimize the data that compactions will write. +### Pluggable Block Caches + +Accumulo provides two BlockCacheManager implementations (LruBlockCacheManager and +TinyLfuBlockCacheManager) that construct on-heap block caches. Users can provide +alternate BlockCacheManager implementations using the property `tserver.cache.manager.class`. + ## General Administration ### Monitor page