Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-14542

Server: Update tables for resharding-related donor, recipient, and coordinator states

      Description

      The Sharding team's work on the resharding project after DOCS-14197, DOCS-14195, DOCS-14193, and DOCS-14084 were originally completed has led to some of the donor, recipient, and coordinators either being renamed or removed altogether. The following is a summary of the changes with references to the code and documentation:

      Donor states
      • The "preparing-to-mirror" state was renamed to "preparing-to-block-writes". The meaning changed slightly from before where the donor shard is now only about to prevent new incoming write operations to the collection being resharded and isn't actually preventing them yet. (see also SERVER-57952)
      • The "mirroring" state was renamed to "blocking-writes".
      • The "dropping" state was removed.
      • The numeric value for some of the states were reassigned - (5) is "error", (6) is "blocking-writes", and (7) is "done".

      https://github.com/mongodb/mongo/blob/5bea2fccdf860e9119712d39b7d2da788fe63708/src/mongo/s/resharding/common_types.idl#L54-L64
      https://docs.mongodb.com/v5.0/reference/command/serverStatus/#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.donorState
      https://docs.mongodb.com/v5.0/reference/operator/aggregation/currentOp/#mongodb-data--currentOp.donorState

      Recipient states
      • An "awaiting-fetch-timestamp" was added. Recipients start in this state while waiting for all donor shards to transition into the "donating-initial-data" state.
      • The "steady-state" state was removed. It was effectively folded in with the "applying" state. The "Recipient shard data is not yet consistent with donor shard data, but will be when the steady state is reached." line can probably be removed.
      • The "renaming" state was removed.
      • The numeric value for some of the states were reassigned.

      https://github.com/mongodb/mongo/blob/5bea2fccdf860e9119712d39b7d2da788fe63708/src/mongo/s/resharding/common_types.idl#L66-L77
      https://docs.mongodb.com/v5.0/reference/command/serverStatus/#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.recipientState
      https://docs.mongodb.com/v5.0/reference/operator/aggregation/currentOp/#mongodb-data--currentOp.recipientState

      Coordinator states
      • The "mirroring" state was renamed to "blocking-writes".
      • The "renaming" state was removed.
      • The "error" state was renamed to "aborting". In addition to this being due to unrecoverable error during the resharding operation, the coordinator will also report "aborting" if the user had manually canceled the resharding operation with the abortReshardCollection command.
      • The "committed" state was renamed to "committing".
      • The "done" state should be removed from the documentation. Unlike the donor's and recipient's "done" state, the coordinator never writes down or returns "done" to the user. CoordinatorStateEnum::kDone is used to trigger the coordinator state document to be removed.
      • The numeric value for some of the states were reassigned - (6) is "aborting" and (7) is "committing".

      https://github.com/mongodb/mongo/blob/5bea2fccdf860e9119712d39b7d2da788fe63708/src/mongo/s/resharding/common_types.idl#L40-L52
      https://docs.mongodb.com/v5.0/reference/command/serverStatus/#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.coordinatorState
      https://docs.mongodb.com/v5.0/reference/operator/aggregation/currentOp/#mongodb-data--currentOp.coordinatorState

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

            Assignee:
            naomi.pentrel@mongodb.com Naomi Pentrel (Inactive)
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:
              2 years, 38 weeks, 6 days ago