-
Type: Task
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Sharding EMEA
-
Sharding 2017-12-04
We want to simplify the ShardServerCatalogCacheLoader by making a simple local loader and reader of chunk metadata. So we want to move the remote call to ensure the primary has refreshed to the latest metadata out of the ShardServerCatalogCacheLoader and instead place this functionality at a higher level in the refresh logic in ShardingState::onStaleShardVersion. A rough sketch:
onStaleShardVersion(wantedVersion) { while () { invalidateCatalogCacheMetadata refreshAndLoadLocalChunkMetadata if (wantedVersion > locallyRefreshedVersion) { optime = forcePrimaryRefresh waitForOptime(optime) } } }
- depends on
-
SERVER-32016 Create an interruptible class/data structure that handles serializing operations per namespace
- Closed
- has to be done after
-
SERVER-30147 Add collection task queue flush functionality to ShardServerCatalogCacheLoader and replace certain uses of waitForCollectionVersion
- Closed
- has to be done before
-
SERVER-30550 Test that safe secondary reads is inactive until 3.6 feature compatibility version is set
- Closed
-
SERVER-30640 Make secondary mode unit tests for ShardServerCatalogCacheLoader
- Closed
- is related to
-
SERVER-25359 Create collection-specific ResourceMutex map to allow split/merge/move chunk on different collections to proceed in parallel
- Closed
-
SERVER-31595 Generate shardMaps outside MODE_X collection lock
- Closed
- related to
-
SERVER-62159 Complete TODO listed in SERVER-30148
- Closed