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

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


      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".


      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.


      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".


      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

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

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

              2 years, 44 weeks, 4 days ago