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 ca6a69a47 Updated Accumulo 4.x Configuration docs (#491)
ca6a69a47 is described below

commit ca6a69a471d5c7404da03eef7f9bf7909a3a7900
Author: Dave Marion <[email protected]>
AuthorDate: Tue Sep 22 07:35:36 2026 -0400

    Updated Accumulo 4.x Configuration docs (#491)
    
    
    Co-authored-by: Daniel Roberts <[email protected]>
---
 _docs-4/configuration/overview.md              | 36 +++++++++++++++++++++++---
 _docs-4/configuration/server-properties.md     | 18 ++++++++++++-
 _docs-4/getting-started/table_configuration.md |  5 ++++
 3 files changed, 55 insertions(+), 4 deletions(-)

diff --git a/_docs-4/configuration/overview.md 
b/_docs-4/configuration/overview.md
index 036ace1be..9158a1854 100644
--- a/_docs-4/configuration/overview.md
+++ b/_docs-4/configuration/overview.md
@@ -19,10 +19,12 @@ set in the following configuration locations (with 
increasing precedence):
 1. [Default](#default) - All properties have a default value
 2. [Site](#site) - Properties set in [accumulo.properties]
 3. [System](#system) - Properties set using shell or Java API that apply to 
entire Accumulo instance
-4. [Namespace](#namespace) - Table properties set using shell or Java API that 
apply to a table namespace
-5. [Table](#table) - Table properties set using shell or Java API that apply 
to a table.
+4. [Resource Group](#resourcegroup) - Property set using the shell or Java API 
that apply to processes in a Resource Group
+5. [Namespace](#namespace) - Table properties set using shell or Java API that 
apply to a table namespace
+6. [Table](#table) - Table properties set using shell or Java API that apply 
to a table.
 
-If a property is set in multiple locations, the value in the location with the 
highest precedence is used.
+If a property is set in multiple locations, the value in the location with the 
highest precedence is used. Note that starting
+with 4.0.0 table properties can only be specified in Namespace and Table 
configuration locations.
 
 These configuration locations are described in detail below:
 
@@ -72,6 +74,34 @@ client.instanceOperations().modifyProperties(properties -> {
 });
 ```
 
+### ResourceGroup
+
+Resource Group configuration refers to [server properties] set for the 
processes running in a Resource Group. These settings are stored in ZooKeeper 
and can be identified
+by **zk mutable: yes** in their description on the [server properties] page. 
Resource Group configuration will override any System configuration set in 
ZooKeeper and
+any site configuration set in [accumulo.properties]. While most system 
configuration settings take effect immediately, some require a restart of the 
process which is
+indicated in the **zk mutable** section of their description. Resource Group 
configuration can be set using the following shell command:
+
+```console
+config -rg GROUP_NAME -s PROPERTY=VALUE
+```
+
+They can also be set using {% jlink 
org.apache.accumulo.core.client.admin.ResourceGroupOperations %} in the Java 
API:
+
+```java
+client.resourceGroupOperations().setProperty("general.low.mem.protection.scan",
 "true");
+```
+
+The java api also supports adding, modifying and removing multiple properties 
in a single operation:
+
+```java
+client.resourceGroupOperations().modifyProperties(properties -> {
+  properties.remove("general.block.cache.manager.class");
+  properties.put("general.low.mem.protection.scan", "true");
+  properties.put("general.server.iter.opts.compression", "zstd");
+  properties.put("tserver.summary.retrieval.threads", "128");
+});
+```
+
 ### Namespace
 
 Namespace configuration refers to [table.* properties] set for a certain table 
namespace (i.e. group of tables). These settings are stored in ZooKeeper. 
Namespace configuration
diff --git a/_docs-4/configuration/server-properties.md 
b/_docs-4/configuration/server-properties.md
index a6ef3533a..ede3f3208 100644
--- a/_docs-4/configuration/server-properties.md
+++ b/_docs-4/configuration/server-properties.md
@@ -13,6 +13,7 @@ Below are properties set in `accumulo.properties` or the 
Accumulo shell that con
 | <a name="compaction_prefix" class="prop"></a> **compaction.*** | **Available 
since:** 4.0.0<br>Both major and minor compaction properties can be included 
under this prefix. |
 | <a name="compaction_coordinator_prefix" class="prop"></a> 
**compaction.coordinator.*** | **Available since:** 2.1.0<br>Properties in this 
category affect the behavior of the accumulo compaction coordinator server. |
 | <a name="compaction_coordinator_compactor_dead_check_interval" 
class="prop"></a> compaction.coordinator.compactor.dead.check.interval | 
**Available since:** 2.1.0<br>The interval at which to check for dead 
compactors.<br>**type:** TIMEDURATION, **zk mutable:** yes but requires restart 
of the compaction, **default value:** `5m` |
+| <a name="compaction_coordinator_compactor_wakeup_threads" class="prop"></a> 
compaction.coordinator.compactor.wakeup.threads | **Available since:** 
2.1.7<br>The number of threads the Coordinator should use to wake Compactors 
that are in a wait state. A value of zero disables Compactor wake up. Enabling 
this feature will cause Compactors in a long wait state (see 
COMPACTOR_MAX_JOB_WAIT_TIME) to check in with the Coordinator for 
work.<br>**type:** COUNT, **zk mutable:** yes, **default val [...]
 | <a name="compaction_coordinator_reservation_threads_meta" class="prop"></a> 
compaction.coordinator.reservation.threads.meta | **Available since:** 
4.0.0<br>The number of threads used to reserve files for compaction in a tablet 
for accumulo.metadata tablets.<br>**type:** COUNT, **zk mutable:** yes, 
**default value:** `1` |
 | <a name="compaction_coordinator_reservation_threads_root" class="prop"></a> 
compaction.coordinator.reservation.threads.root | **Available since:** 
4.0.0<br>The number of threads used to reserve files for compaction in a tablet 
for the root tablet.<br>**type:** COUNT, **zk mutable:** yes, **default 
value:** `1` |
 | <a name="compaction_coordinator_reservation_threads_user" class="prop"></a> 
compaction.coordinator.reservation.threads.user | **Available since:** 
4.0.0<br>The number of threads used to reserve files for compaction in a tablet 
for user tables.<br>**type:** COUNT, **zk mutable:** yes, **default value:** 
`64` |
@@ -70,6 +71,7 @@ Below are properties set in `accumulo.properties` or the 
Accumulo shell that con
 | <a name="general_micrometer_user_tags" class="prop"></a> 
general.micrometer.user.tags | **Available since:** 4.0.0<br>A comma separated 
list of tags to emit with all metrics from the process. Example: 
"tag1=value1,tag2=value2".<br><br>**type:** STRING, **zk mutable:** no, 
**default value:** empty |
 | <a name="general_opentelemetry_enabled" class="prop"></a> 
general.opentelemetry.enabled | **Available since:** 2.1.0<br>Enables 
OpenTelemetry traces for new spans in the server process that are not already 
part of an existing trace. Spans that are part of an existing trace, such as 
one originating in client code and propagated to the server over an RPC 
request, are always traced, regardless of this value. (Note: no tracing will 
occur if OpenTelemetry is not first configured for the JVM [...]
 | ~~<a name="general_process_bind_addr" class="prop"></a> 
general.process.bind.addr~~ | **Available since:** 3.0.0<br>*Deprecated since:* 
4.0.0<br>*Replaced by:* <a href="#rpc_bind_addr">rpc.bind.addr</a><br>~~The 
local IP address to which this server should bind for sending and receiving 
network traffic.~~<br>~~**type:** STRING~~, ~~**zk mutable:** no~~, ~~**default 
value:** `0.0.0.0`~~ |
+| <a name="general_rpc_server_threaded_selector_threads" class="prop"></a> 
general.rpc.server.threaded.selector.threads | **Available since:** 
2.1.7<br>The number of selector threads to use for the TThreadedSelectorServer. 
 If the value ends with C, then it will be multiplied by the number of cores on 
the system.<br>**type:** COUNT, **zk mutable:** no, **default value:** `2` |
 | <a name="general_rpc_server_type" class="prop"></a> general.rpc.server.type 
| **Experimental**<br>**Available since:** 1.7.0<br>Type of Thrift server to 
instantiate, see org.apache.accumulo.server.rpc.ThriftServerType for more 
information. Only useful for benchmarking thrift servers.<br>**type:** STRING, 
**zk mutable:** no, **default value:** empty |
 | <a name="general_rpc_timeout" class="prop"></a> general.rpc.timeout | 
**Available since:** 1.3.5<br>Time to wait on I/O for simple, short RPC 
calls.<br>**type:** TIMEDURATION, **zk mutable:** no, **default value:** `120s` 
|
 | <a name="general_security_credential_provider_paths" class="prop"></a> 
general.security.credential.provider.paths | **Available since:** 
1.6.1<br>Comma-separated list of paths to CredentialProviders.<br>**type:** 
STRING, **zk mutable:** no, **default value:** empty |
@@ -240,7 +242,7 @@ Below are properties set in `accumulo.properties` or the 
Accumulo shell that con
 | <a name="table_sampler_opt_prefix" class="prop"></a> **table.sampler.opt.*** 
| **Available since:** 1.8.0<br>The property is used to set options for a 
sampler. If a sample had two options like hasher and modulous, then the two 
properties table.sampler.opt.hasher=${hash algorithm} and 
table.sampler.opt.modulous=${mod} would be set. |
 | <a name="table_scan_dispatcher" class="prop"></a> table.scan.dispatcher | 
**Available since:** 2.0.0<br>This class is used to dynamically dispatch scans 
to configured scan executors.  Configured classes must implement {% jlink 
org.apache.accumulo.core.spi.scan.ScanDispatcher %}. See [scan executors]({% 
durl administration/scan-executors %}) for an overview of why and how to use 
this property. This property is ignored for the root and metadata table.  The 
metadata table always dispatche [...]
 | <a name="table_scan_dispatcher_opts_prefix" class="prop"></a> 
**table.scan.dispatcher.opts.*** | **Available since:** 2.0.0<br>Options for 
the table scan dispatcher. |
-| <a name="table_scan_max_memory" class="prop"></a> table.scan.max.memory | 
**Available since:** 1.3.5<br>The maximum amount of memory that will be used to 
cache results of a client query/scan. Once this limit is reached, the buffered 
data is sent to the client.<br>**type:** BYTES, **zk mutable:** yes, **default 
value:** `512k` |
+| <a name="table_scan_max_memory" class="prop"></a> table.scan.max.memory | 
**Available since:** 1.3.5<br>The maximum amount of memory that will be used to 
cache results of a client query/scan. Once this limit is reached, the buffered 
data is sent to the client. This is an estimate of heap usage and includes per 
entry object overhead, so it will always exceed the size of the key value data 
actually sent to the client.<br>**type:** BYTES, **zk mutable:** yes, **default 
value:** `512k` |
 | <a name="table_security_scan_visibility_default" class="prop"></a> 
table.security.scan.visibility.default | **Available since:** 1.3.5<br>The 
security label that will be assumed at scan time if an entry does not have a 
visibility expression.<br>Note: An empty security label is displayed as []. The 
scan results will show an empty visibility even if the visibility from this 
setting is applied to the entry.<br>CAUTION: If a particular key has an empty 
security label AND its table's defaul [...]
 | <a name="table_shuffle_sources" class="prop"></a> table.shuffle.sources | 
**Available since:** 2.1.5<br>Shuffle the opening order for Rfiles to reduce 
thread contention on file open operations.<br>**type:** BOOLEAN, **zk 
mutable:** yes, **default value:** `false` |
 | <a name="table_split_endrow_size_max" class="prop"></a> 
table.split.endrow.size.max | **Available since:** 1.7.0<br>Maximum size of end 
row.<br>**type:** BYTES, **zk mutable:** yes, **default value:** `10k` |
@@ -331,3 +333,17 @@ Below are properties set in `accumulo.properties` or the 
Accumulo shell that con
 | fate meta config | A string that:<br>1. Represents a valid, parsable JSON 
object.<br>2. Each key is a string which represents a name for the 
value/pool.<br>3. Each value is a JSON with a single key/value: key = 
comma-separated string list of FATE<br>operations, value = integer for the 
number of threads assigned to run those FATE operations.<br>4. All possible 
meta FATE operations are present in the JSON.<br>5. No FATE operations are 
repeated.<br> |
 | (deprecated) Manager FATE thread pool size | No format check. Allows any 
value to be set but will warn the user that the property is no longer used. |
 | erasurecode | One of 'enable','disable','inherit'. |
+
+### Java System Properties
+
+Below are properties used to modify the runtime behavior.
+
+| Property | Description |
+|--------------|-------------|
+| accumulo.properties | Path to accumulo.properties file. |
+| io.compression.codec.bzip2.class | BZip2 Codec Compression Algorithm. |
+| io.compression.codec.lz4.class | LZ4 Codec Compression Algorithm. |
+| io.compression.codec.lzo.class | LZO Codec Compression Algorithm. |
+| io.compression.codec.snappy.class | Snappy Codec Compression Algorithm. |
+| io.compression.codec.zstd.class | ZStandard Codec Compression Algorithm. |
+| org.apache.accumulo.client.rpc.debug.host | Set to host:port for the client 
to connect to a specific server. |
diff --git a/_docs-4/getting-started/table_configuration.md 
b/_docs-4/getting-started/table_configuration.md
index 387eafdbf..370be00a6 100644
--- a/_docs-4/getting-started/table_configuration.md
+++ b/_docs-4/getting-started/table_configuration.md
@@ -344,6 +344,7 @@ in reduced read latency. Read the [Caching] documentation 
to learn more.
 ## Compaction
 
 See {% dlink administration/compaction %}
+
 ## Pre-splitting tables
 
 Accumulo will balance and distribute tables across servers. Before a
@@ -408,6 +409,9 @@ faster to set the split point and merge the entire table:
     root@myinstance> config -t myTable -s table.split.threshold=256M
     root@myinstance> merge -t myTable
 
+Automatic merging of tablets has been added in 4.0.0 and is described
+further in [merging].
+
 ## Delete Range
 
 Consider an indexing scheme that uses date information in each row.
@@ -619,3 +623,4 @@ preserved.
 [Caching]: {% durl administration/caching %}
 [table.bloom.enabled]: {% purl table.bloom.enabled %}
 [table.file.compress.type]: {% purl table.file.compress.type %}
+[merging]: {% durl administration/merging %}

Reply via email to