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

Modify the RoutingTableHistory to check if a particular shard has been indicated to need a refresh.

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.3
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • Sharding 2020-01-27

      Feature Work

      Change the OperationContext “needs refresh for this operation” flag to be false by default. When an operation attempts to get the shardVersion for a shard, it will check in the new ShardVersionMap if the boolean has been marked true, to indicate that this shard has received SSV. If this boolean is true, turn on the flag in the OperationContext and then throw an SSV exception here. This will cause the current operation to retry from the top of the router — the operation will then successfully block behind the CatalogCache refresh. The behavior outlined in the technical design should be satisfied at this point.

      Testing Work

      Create a targeted JS test to confirm that other shards can successfully run operations on a collection if only one shard has been marked as stale.

            Assignee:
            blake.oler@mongodb.com Blake Oler
            Reporter:
            blake.oler@mongodb.com Blake Oler
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: