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

Introduce the _flushReshardingStateChange command

    • Fully Compatible
    • Sharding 2021-03-22, Sharding 2021-04-05
    • 2

      command: _flushReshardingStateChanges(nss for shard to refresh on)

      context:
      In resharding, _flushRoutingTableCacheUpdatesWithWriteConcern is not safe to call when in the critical section. 
      SERVER-53258 introduces the _shardsvrFinishReshardCollection for when the coordinator persists its decision in the success case.

      However, when the coordinator errors, it is possible that the error will occur while the critical section is engaged. 

      This command should combine the logic for _shardsvrFinishReshardCollection and _flushRoutingTableCache++UpdatesWithWriteConcern so it is safe to call regardless of whether the shard refreshing is in the critical section.

      logic inside command
      if (critical section is held)

      { // ... do _shardsvrFinishReshardCollection behavior }

      else

      { // ... do _flushRoutingTableCacheUpdates behavior }

       

            Assignee:
            janna.golden@mongodb.com Janna Golden
            Reporter:
            haley.connelly@mongodb.com Haley Connelly
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: