A newer version of this documentation is available.

View Latest

Managing Advanced XDCR Settings

  • reference
    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


    Global setting supplied to all replications for a cluster.


    Settings for a specific replication for a bucket.


    Curl request syntax:

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


    The following example retrieves all replication settings:

    GET /settings/replications
    // Curl example
    curl -u Administrator:password
    // Results
        "checkpointInterval": 600,
        "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


    Integer (60 to 14400).

    Default: 600. The interval for checkpointing in seconds.


    Integer (10 to 10000)

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


    Integer (1 to 300)

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



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


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

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


    Boolean (true or false)

    Shows whether the replications needs to be paused.


    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.


    Integer (200-600000)

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


    Integer (1-100)

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


    Integer (500 to 10000)

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


    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.