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

Skip using the legacy write block mechanism (MovePrimaryInProgress error)

    • Type: Icon: Task Task
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Sharding EMEA

      Before cloning the catalog data, the movePrimary operation blocks writes to ensure the consistency of the cloning information. To do that, a dedicated synchronization mechanism is exposed by the Database Sharding State.

      Unlike the critical section, this mechanism ensures that any writes would fail with the MovePrimaryInProgress error instead of waiting for a refresh of the database metadata (handling a StaleConfig error). Since the critical section is already entered by the movePrimary operation, the refresh will take a long time (mainly depending on the actual duration of the cloning of the catalog data).

      Once the Online movePrimary project (PM-3025) will be completed, the actual time frame in which writes are blocked will be drastically reduced, and the movePrimary implementation could adopt the critical section as a mechanism to block writes.

            Assignee:
            backlog-server-sharding-emea [DO NOT USE] Backlog - Sharding EMEA
            Reporter:
            antonio.fuschetto@mongodb.com Antonio Fuschetto
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: