-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
Sharding 2020-05-18, Sharding 2020-06-01, Sharding 2020-06-15, Sharding 2020-06-29
As part of SERVER-47987 the way the cache is refreshed will be changed on a more optimized and safe way using a new scoped object. All this work will end on the removal of forceShardFilteringMetadataRefresh, which will make the local cache of a shard consistent with the config server. As part of this process the migration source manager needs to set the filtering metadata within the critical section, and should ensure:
1. If the operation fails, it must set the collection metadata to unknown, so the real shard version can be recovered lazily when needed.
2. There must not be any unnecessary refresh of the metadata after committing the new shard version, it should simply set the new shard version.
3. There must not be any recovery.
- depends on
-
SERVER-47974 Introduce ScopedShardVersionCriticalSection class
- Closed
-
SERVER-47975 Optimize ScopedShardVersionCriticalSection in order to avoid convoy on SSV after a shardVersion change
- Closed
-
SERVER-47985 Implement recovery of a shard's `shardVersion` before it is allowed to perform version checking
- Closed
- is depended on by
-
SERVER-32198 Missing collection metadata on the shard implies both UNSHARDED and "metadata not loaded yet"
- Closed
-
SERVER-47987 Remove forceShardFilteringMetadataRefresh function
- Closed