- 
    Type:Bug 
- 
    Resolution: Fixed
- 
    Priority:Major - P3 
- 
    Affects Version/s: 3.4.10, 3.6.0, 4.0.4
- 
    Component/s: Sharding
- 
        Sharding
- 
        Fully Compatible
- 
        ALL
- 
        Sharding 2018-01-01, Sharding 2017-12-18, Sharding 2018-02-12, Sharding 2018-02-26, Sharding 2018-06-18, Sharding 2018-07-02, Sharding 2018-07-16, Sharding 2018-07-30, Sharding 2018-08-13, Sharding 2018-08-27, Sharding 2018-09-10
- 
        (copied to CRM)
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
This ticket was created as an overflow of SERVER-31056. Please refer to the comments there for more context.
If after a migration commit on the config server, a donor shard fails to refresh its metadata, we clear the MetadataManager's metadata. We do this so that the next time the metadata is needed, a refresh will be triggered.
However, if a request comes in with an UNSHARDED shardVersion, it will see empty metadata and the request will be allowed to go through without triggering a refresh.
The linked SERVER-24960 contains test cases to validate the fix.
- causes
- 
                    SERVER-38794 CollectionOptions can be lost in createCollection if a write conflict exception is thrown -         
- Closed
 
-         
- 
                    SERVER-38953 Missing early return in merge_chunks_command.cpp -         
- Closed
 
-         
- depends on
- 
                    SERVER-32367 AutoGetCollectionOrView and its related classes perform shard version checking on a view -         
- Closed
 
-         
- 
                    SERVER-35773 MetadataManager directly calls into the CatalogCache -         
- Closed
 
-         
- 
                    SERVER-46679 Transaction test fails with Stale Shard Version error on 4.5 -         
- Closed
 
-         
- 
                    SERVER-47233 WriteOp can be left in pending state, leading to erroneous NoProgressMade write error from mongos -         
- Closed
 
-         
- 
                    SERVER-31056 Remove all usages of the default constructor of ScopedCollectionMetadata outside of MetadataManager -         
- Closed
 
-         
- 
                    SERVER-35497 Remove usages of OldClient(Write)Context from the MigrationDestinationManager -         
- Closed
 
-         
- 
                    SERVER-35516 Get rid of OldClientWriteContext -         
- Closed
 
-         
- 
                    SERVER-35691 Make all code paths returning StaleConfig error go through the StaleConfigInfo serializer -         
- Closed
 
-         
- 
                    SERVER-45599 Backport the changes to CollectionShardingState done as part of SERVER-32198 to 4.0 -         
- Closed
 
-         
- 
                    SERVER-45778 Rename getOrphanFilter to getOwnershipFilter and change the return type -         
- Closed
 
-         
- 
                    SERVER-45779 Throw Stale Shard Version when collection is unknown on getOwnershipFilter -         
- Closed
 
-         
- 
                    SERVER-45780 Rename getCurrentMetadata to getCollectionDescription and change the return type -         
- Closed
 
-         
- 
                    SERVER-45781 Throw Stale Shard Version when collection is unknown on getCollectionDescription -         
- Closed
 
-         
- 
                    SERVER-45904 Create a standalone collection sharding state factory -         
- Closed
 
-         
- 
                    SERVER-46272 Make callers of keyBelongsToMe() to not go through collection metadata -         
- Closed
 
-         
- 
                    SERVER-46703 Make a variant of checkShardVersionOrThrow which doesn't treat UNKNOWN shard version as UNSHARDED -         
- Closed
 
-         
- 
                    SERVER-47104 Make upsert stage use OwnershipFilter instead of CollectionDescription -         
- Closed
 
-         
- 
                    SERVER-47412 Make the database cloner ensure collections are actually unsharded before cloning -         
- Closed
 
-         
- 
                    SERVER-47413 Some transaction tests are not being retried on Transient Error -         
- Closed
 
-         
- 
                    SERVER-47419 Find a better way of setting the shardId when throwing on getCollectionDescription -         
- Closed
 
-         
- 
                    SERVER-47474 CheckShardingIndex: Convert usages of checkShardVersionOrThrow_DEPRECATED to checkShardVersionOrThrow -         
- Closed
 
-         
- 
                    SERVER-47521 Remove getCollectionDescription_DEPRECATED function -         
- Closed
 
-         
- 
                    SERVER-47555 Remove checkShardVersionOrThrow_DEPRECATED function -         
- Closed
 
-         
- 
                    SERVER-47701 Ensure the steps for upgrading Replica Set to a Sharded Cluster do not incur any application downtime -         
- Closed
 
-         
- 
                    SERVER-47982 Change the shard version update procedure of the migration source manager -         
- Closed
 
-         
- 
                    SERVER-47987 Remove forceShardFilteringMetadataRefresh function -         
- Closed
 
-         
- 
                    SERVER-36054 Get rid of ScopedCollectionMetadata's operator bool -         
- Closed
 
-         
- 
                    SERVER-36164 Decouple ScopedCollectionMetadata from MetadataManager -         
- Closed
 
-         
- is duplicated by
- 
                    SERVER-32459 mongos incorrectly assumed collection was unsharded -         
- Closed
 
-         
- 
                    SERVER-35932 Mongos saved docs in wrong shard -         
- Closed
 
-         
- 
                    SERVER-24960 Shard may not realize that collection is already sharded after restart -         
- Closed
 
-         
- 
                    SERVER-32075 Load sharding metadata from disk on mongod startup -         
- Closed
 
-         
- 
                    SERVER-42658 secondary don't refresh its routing table when transition to primary. -         
- Closed
 
-         
- 
                    SERVER-44052 Inconsistencies in sharded collections -         
- Closed
 
-         
- is related to
- 
                    SERVER-32075 Load sharding metadata from disk on mongod startup -         
- Closed
 
-         
- related to
- 
                    SERVER-52991 Complete TODO listed in SERVER-32198 -         
- Closed
 
-         
- 
                    SERVER-49228 Remove kickback to mongos requirement for cluster view read when view is backed by unsharded collection -         
- Closed
 
-         
- mentioned in
- 
                    Page Loading...