3.14. Resharding

3.14.1. Resharding Configuration

[resharding]
max_jobs

Maximum number of resharding jobs per cluster node. This includes completed, failed, and running jobs. If the job appears in the _reshard/jobs HTTP API results it will be counted towards the limit. When more than max_jobs jobs have been created, subsequent requests will start to fail with the max_jobs_exceeded error:

[reshard]
max_jobs = 48
max_history

Each resharding job maintains a timestamped event log. This setting limits the maximum size of that log:

[reshard]
max_history = 20
max_retries

How many times to retry shard splitting steps if they fail. For example, if indexing or topping off fails, it will be retried up to this many times before the whole resharding job fails:

[reshard]
max_retries = 1
retry_interval_sec

How long to wait between subsequent retries:

[reshard]
retry_interval_sec = 10
delete_source

Indicates if the source shard should be deleted after resharding has finished. By default, it is true as that would recover the space utilized by the shard. When debugging or when extra safety is required, this can be switched to false:

[reshard]
delete_source = true
update_shard_map_timeout_sec

How many seconds to wait for the shard map update operation to complete. If there is a large number of shard db changes waiting to finish replicating, it might be beneficial to increase this timeout:

[reshard]
update_shard_map_timeout_sec = 60
source_close_timeout_sec

How many seconds to wait for the source shard to close. “Close” in this context means that client requests which keep the database open have all finished:

[reshard]
source_close_timeout_sec = 600
require_node_param

Require users to specify a node parameter when creating resharding jobs. This can be used as a safety check to avoid inadvertently starting too many resharding jobs by accident:

[reshard]
require_node_param = false
require_range_param

Require users to specify a range parameter when creating resharding jobs. This can be used as a safety check to avoid inadvertently starting too many resharding jobs by accident:

[reshard]
require_range_param = false