-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 8.0.0-rc0
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
v8.0
-
CAR Team 2024-06-24, CAR Team 2024-07-08
-
0
Upon completion of the create collection coordinator, we perform a best effort refresh on all shards involved in the operation to ensure the correct filtering information is installed, rather than just a cleared information.
The detailed implementation for performing this best effort refresh involves creating an array of all shards that own chunks (_doc.getShardIds), the DB primary shard (ShardingState::get(opCtx)->shardId()), and the data shard (_doc.getOriginalDataShard()).
We append the DB primary shard and the data shard to the best effort refresh because we want to ensure the correct filtering information is installed on them, regardless of whether they own chunks or not.
However, if the DB primary shard is the data shard and it also owns chunks, it will receive 3 refreshes.
The objective of this task is to optimize this behavior by ensuring that the DB primary shard is refreshed at most once.
- related to
-
SERVER-80135 Allow ShardCollection to work correctly when an unsharded collection is not located on the DBPrimary
- Closed