You are viewing the documentation for a prerelease version.

View Latest

Getting Rebalance Progress

The progress of rebalance can be ascertained with either the POST /pools/default/rebalanceProgress HTTP method and URI.

HTTP method and URI

POST /pools/default/rebalanceProgress

Description

When one or more nodes have been brought into a cluster, or have been taken out of a cluster, rebalance is used to redistribute data and indexes among available nodes. The ongoing progress of the rebalance operation can be retrieved.

Curl Syntax

curl -v -X POST -u [admin]:[password]
  http://[localhost]:8091/pools/default/rebalanceProgress

Response

Success gives the response code 200 OK, and returns an object containing information on the current status of the ongoing rebalance. See the examples provided below.

Examples

In the following example, node 10.143.190.103 has been added to a cluster of two nodes, which are 10.143.190.101 and 10.143.190.102. Rebalance is then initiated. During rebalance, progress is ascertained by means of the POST /pools/default/rebalanceProgress HTTP method and URI, with output being piped to the tool jq, to ensure readability.

curl -u Administrator:password -v -X GET 10.143.190.101:8091/pools/default/rebalanceProgress | jq '.'

On success, the response code 200 OK is given, and the following object is returned:

{
  "status": "running",
  "ns_1@10.143.190.101": {
    "progress": 0.1103515625
  },
  "ns_1@10.143.190.102": {
    "progress": 0.1095890410958904
  },
  "ns_1@10.143.190.103": {
    "progress": 0.3299120234604106
  }
}

The output thus features progress, specified as a ten-place floating-point number, for each of the three nodes. (Note that if Couchbase Web Console is simultaneously used to monitor the rebalance, these decimals are represented as 11.0%, 10.9%, and 32.9% respectively. See the example provided in Add a Node with the UI.)

When rebalance has concluded, re-running the method returns the response code 200 OK, and the following object:

{
  "status": "none"
}

See also

Examples of adding a node and rebalancing by means of the UI, CLI, and REST API are provided in Add a Node and Rebalance. A conceptual introduction to nodes is provided in Nodes. The REST method and URI for node-addition is provided in Adding Nodes to Clusters. The REST method and URI for rebalance is explained in Rebalancing Nodes.

For additional information on retrieving status on ongoing cluster-tasks, including rebalance, see Getting Cluster Tasks.