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