You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2022/06/15 15:01:19 UTC

[accumulo-website] branch main updated: Add sections for pluggable block caches and scan execution hints that control caching (#323)

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 <dl...@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