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.