Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-7093

Adaptive parallelism in the vbucket move

    Details

    • Type: Story
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: feature-backlog
    • Component/s: ns_server
    • Security Level: Public
    • Labels:
      None

      Description

      It takes a couple of minutes (I didn't measure that accurate, but I would say ~10) on my machine when I try to add the second node to my cluster with 1 bucket and NO items. Both of these nodes is running on the same server, and there is plenty of CPU left on the box to speed up the transfer. Given that ns_server knows the total amount of data kept in the bucket, it could move more buckets in parallel (in this case we've got 0 items, so we could most likely move all of the vbuckets it wants in parallel). As the item count and memory usage grows it should reduce the parallelism.

      No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

        Hide
        alkondratenko Aleksey Kondratenko (Inactive) added a comment -

        Getting this off my list. IMHO too minor to spend my time in foreseeable future. And btw since 2.0.1 we already much better. And will naturally get better and better. Particularly with UPR stuff

        Show
        alkondratenko Aleksey Kondratenko (Inactive) added a comment - Getting this off my list. IMHO too minor to spend my time in foreseeable future. And btw since 2.0.1 we already much better. And will naturally get better and better. Particularly with UPR stuff
        Hide
        dipti Dipti Borkar added a comment -

        Aliaksey, even with 2.0.1 though we are still transferring 1 vBucket at a time if there's 1 node being added right?

        the speed improvement is mostly from combining compaction of vBuckets ?

        Show
        dipti Dipti Borkar added a comment - Aliaksey, even with 2.0.1 though we are still transferring 1 vBucket at a time if there's 1 node being added right? the speed improvement is mostly from combining compaction of vBuckets ?
        Hide
        alkondratenko Aleksey Kondratenko (Inactive) added a comment -

        Not only that. 2.0.1 fulfills 1 vbucket at a time limit only for duration backfill. When we detect that backfill is done or did not happen we immediately start next vbucket. Then after 16 vbuckets (which we're about to rise, btw I completely forgot and we have to do it before 2.0.2 is frozen) are moved we wait until all vbucket movements complete. And that per vbucket completion involves all that dance with checkpoints and waiting for disk that we do.

        It'll be a bit premature to say that 1 vbucket at a time is a bottleneck with that new behavior.

        Show
        alkondratenko Aleksey Kondratenko (Inactive) added a comment - Not only that. 2.0.1 fulfills 1 vbucket at a time limit only for duration backfill. When we detect that backfill is done or did not happen we immediately start next vbucket. Then after 16 vbuckets (which we're about to rise, btw I completely forgot and we have to do it before 2.0.2 is frozen) are moved we wait until all vbucket movements complete. And that per vbucket completion involves all that dance with checkpoints and waiting for disk that we do. It'll be a bit premature to say that 1 vbucket at a time is a bottleneck with that new behavior.
        Hide
        alkondratenko Aleksey Kondratenko (Inactive) added a comment -

        Suggest closing. We already do that limit only for backfill phase of vbucket movement.

        And empty rebalance has nothing to do with parallel movement of vbuckets.

        Show
        alkondratenko Aleksey Kondratenko (Inactive) added a comment - Suggest closing. We already do that limit only for backfill phase of vbucket movement . And empty rebalance has nothing to do with parallel movement of vbuckets.
        Hide
        trond Trond Norbye added a comment -

        Can we speed up an empty rebalance? It is what all of our users will see every time they try to configure a system, so it's not like a rare scenario... It shouldn't take more than a sec to perform...

        Show
        trond Trond Norbye added a comment - Can we speed up an empty rebalance? It is what all of our users will see every time they try to configure a system, so it's not like a rare scenario... It shouldn't take more than a sec to perform...

          People

          • Assignee:
            dipti Dipti Borkar
            Reporter:
            trond Trond Norbye
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Gerrit Reviews

              There are no open Gerrit changes