[SERVER-44501] Modify the RoutingTableHistory to check if a particular shard has been indicated to need a refresh. Created: 08/Nov/19  Updated: 29/Oct/23  Resolved: 16/Jan/20

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.3.3

Type: Task Priority: Major - P3
Reporter: Blake Oler Assignee: Blake Oler
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done after SERVER-44500 Create a new ShardVersionMap that inc... Closed
Related
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2020-01-27
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 15/Jan/20 ]

Author:

{'name': 'Blake Oler', 'email': 'blake.oler@mongodb.com', 'username': 'BlakeIsBlake'}

Message: SERVER-44501 Modify the RoutingTableHistory to check if a particular shard has been indicated to need a refresh
Branch: master
https://github.com/mongodb/mongo/commit/5bd42bfe869b747d0ad6f0a63774461a6da77060

Generated at Thu Feb 08 05:06:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.