Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-42914

Implement random chunk selection policy for balancer for use in concurrency_*_with_balancer workloads

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.6.16, 4.3.1, 4.2.3, 4.0.14
    • Component/s: Sharding
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.2, v4.0, v3.6
    • Sprint:
      Sharding 2019-08-26, Sharding 2019-09-09
    • Linked BF Score:
      19

      Description

      Currently, in the concurrency_*_with_balancer suites, even if the balancer is on, it may not move chunks if there is not a data imbalance across shards. This means that we are not getting as much coverage as we would like for migrations concurrent with other operations.

      To enable our concurrency tests to have better coverage of migrations during stepdowns, we would like the balancer to cause more frequent migrations. Adding a failpoint which causes the balancer to always move a random chunk (ignoring the current data distribution) will ensure that the balancer is consistently moving chunks throughout the execution of the concurrency workload.

      The alternative in the past has been to use the moveChunk command in one of the state transitions of the workload - however, moveChunk operations are currently banned for the with_stepdowns suites (which will be addressed in the future in SERVER-40713).

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              alex.taskov Alexander Taskov
              Reporter:
              alex.taskov Alexander Taskov
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: