A newer version of this documentation is available.

View Latest

Managing Advanced XDCR Settings

The XDCR advanced settings can change replication behavior, performance, and timing.

HTTP method and URI

The URI endpoints are available to change global settings for cluster replications and to change settings for a specific replication ID.

POST /settings/replications/
POST /settings/replications/[replication_id]

The global settings for cluster replications are the default values to use if the replication level settings are not specified. If the replication level settings are specified for a particular replication, they will overwrite the global settings.

The global settings are used for new replications only: if we change a global setting, the existing replications are not affected. Only replications that are created after the change will get the updated Global setting.

Table 1. XDCR URI paths for settings
URI path Description

/settings/replications/

Global setting supplied to all replications for a cluster.

/settings/replications/[replication-id]

Settings for a specific replication for a bucket.

Syntax

Curl request syntax:

curl -u [admin]:[password] -X GET http://[localhost]:8091/settings/replication
curl -u [admin]:[password] -X GET http://[localhost]:8091/settings/replication/[replication-id]

Example

The following example retrieves all replication settings:

GET /settings/replications
// Curl example
curl -u Administrator:password 10.5.2.54:8091/settings/replications

// Results
{
    "checkpointInterval": 1800,
    "connectionTimeout": 180,
    "docBatchSizeKb": 2048,
    "failureRestartInterval": 30,
    "httpConnections": 20,
    "maxConcurrentReps": 16,
    "optimisticReplicationThreshold": 256,
    "pauseRequested": false,
    "retriesPerRequest": 2,
    "socketOptions": {
        "keepalive": true,
        "nodelay": false
    },
    "supervisorMaxR": 25,
    "supervisorMaxT": 5,
    "workerBatchSize": 500,
    "workerProcesses": 4
}

XDCR advanced settings

The following parameters are used for setting all replications globally or setting a specific replication ID.

Table 2. XDCR advanced settings
Parameter Value Description

checkpointInterval

Integer (60 to 14400).

Default: 1800. The interval for checkpointing in seconds.

docBatchSizeKb

Integer (10 to 10000)

Default: 2048. The size of a batch in kilobytes.

failureRestartInterval

Integer (1 to 300)

Default: 10. The number of seconds to wait after a failure before restarting replication.

logLevel``log.LogLevel

String

Default: Info. The level of logging, such as Error/Info/Debug/Trace.

optimisticReplicationThreshold

Integer (0 to (20*1024*1024))

Default: 256. Documents with sizes less than this threshold (in bytes) will be replicated optimistically.

pauseRequested

Boolean (true or false)

Shows whether the replications needs to be paused.

sourceNozzlePerNode

Integer (1-100)

The number of nozzles that can be used for this replication per source cluster node. This together with target_nozzle_per_node controls the parallelism of the replication.

statsInterval

Integer (200-600000)

Default: 1000. The interval (in milliseconds) for statistics updates.

targetNozzlePerNode

Integer (1-100)

The number of outgoing nozzles per target node. This together with source_nozzle_per_node controls the parallelism of the replication.

workerBatchSize

Integer (500 to 10000)

Default: 500. The number of mutations in a batch.

networkUsageLimit

Integer (0 to 1000000)

Default: 0. The upper limit for network usage during replication, for the entire cluster, specified in megabytes per second. The default, 0, means that no limit is applied. The limit applies only to mutations: it does not apply to other XDCR communications, such as those related to server topology and runtime statistics. Note that the limit for each individual node is the limit for the entire cluster divided by the number of nodes in the cluster.