MB-8013 REST API for detailed rebalance progress.
MB-8013 REST API for detailed rebalance progress.

Rebalance task now just have additional field detailedProgress.

  curl -X GET http://127.0.0.1:9000/pools/default/tasks

  [
      {
          "detailedProgress": {
              "bucket": "default",
              "bucketNumber": 1,
              "bucketsCount": 1,
              "perNode": {
                  "n_0@10.17.43.183": {
                      "activeVBucketsLeft": 21,
                      "docsTotal": 0,
                      "docsTransferred": 0,
                      "replicaVBucketsLeft": 213
                  },
                  "n_3@127.0.0.1": {
                      "activeVBucketsLeft": 21,
                      "docsTotal": 0,
                      "docsTransferred": 0,
                      "replicaVBucketsLeft": 318
                  }
              }
          },
          "perNode": {
              "n_0@10.17.43.183": {
                  "progress": 20.026007802340708
              },
              "n_1@127.0.0.1": {
                  "progress": 0.0
              },
              "n_2@127.0.0.1": {
                  "progress": 0.0
              },
              "n_3@127.0.0.1": {
                  "progress": 25.375626043405674
              }
          },
          "progress": 11.350408461436595,
          "recommendedRefreshPeriod": 0.25,
          "status": "running",
          "type": "rebalance"
      }
  ]

  Here's a description of detailedProgress members:

    'bucket' — the bucket that's currently being rebalanced

    'bucketsCount' — overall number of buckets that are to be
                     rebalanced (this also includes the buckets for
                     which rebalance has already completed)

    'bucketNumber' — number of the bucket that's currently being
                     rebalanced in the sequence of all buckets to
                     rebalance (basically, how many buckets has been
                     rebalanced increased by one)

    'perNode' — per node details

  Here's a description of per node details members:

    'docsTotal' — estimated number of documents to be transferred from
                  the node

    'docsTransferred' – number of documents transferred so far

    'activeVBucketsLeft' — number of active vbuckets yet to be moved
                           in or out of this node

    'replicaVBucketsLeft' — number of replica vbuckets yet to be moved
                            in or out of this node

Change-Id: Iba0d2d913adad5c2dfbf854a72d581fb23d27ab5
Reviewed-on: http://review.couchbase.org/25909
Reviewed-by: Aliaksey Artamonau <3c875bcfb3adf2a65b2ae7686ca921e6c9433147@gmail.com>
Tested-by: Aliaksey Artamonau <3c875bcfb3adf2a65b2ae7686ca921e6c9433147@gmail.com>

pavel-blagodov/ns_server,mschoch/ns_server,membase/ns_server,mschoch/ns_server,ceejatec/ns_server,t3rm1n4l/ns_server,vzasade/ns_server,membase/ns_server,ceejatec/ns_server,membase/ns_server,daverigby/ns_server,membase/ns_server,ceejatec/ns_server,ceejatec/ns_server,t3rm1n4l/ns_server,pavel-blagodov/ns_server,daverigby/ns_server,daverigby/ns_server,t3rm1n4l/ns_server,membase/ns_server,nimishzynga/ns_server,membase/ns_server,nimishzynga/ns_server,ceejatec/ns_server,nimishzynga/ns_server,mschoch/ns_server,daverigby/ns_server,mschoch/ns_server,vzasade/ns_server,mschoch/ns_server,vzasade/ns_server,nimishzynga/ns_server,pavel-blagodov/ns_server,ceejatec/ns_server,t3rm1n4l/ns_server,pavel-blagodov/ns_server,vzasade/ns_server,nimishzynga/ns_server,daverigby/ns_server,mschoch/ns_server,t3rm1n4l/ns_server,nimishzynga/ns_server