-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: 3.5.1
-
Component/s: Sharding
-
None
In releases <= 3.4.x, when mongos gets an error from a shard reporting that a collection requested does not exist on the shard, it retrieves the entire list of collections from the config server. It depends on having collections that have been dropped marked as such, so that it can remove corresponding entries, and chunks, from its cache. As a consequence, "dropped" collections accumulate in the collections list, and are never cleaned up.
In 3.6, mongos should ask the config server only about the collection that had the failure. Mongos and the balancer still need to filter out entries marked as dropped, because they will still see them, until 3.8; and the 3.6 config server still needs to mark dropped collections in its collections list, so it can serve them to 3.4 mongos.
Entries for dropped collections can be scrubbed from the collections list in 3.8, because the 3.6 mongos will not be looking for them. See SERVER-27474.
- duplicates
-
SERVER-27681 Better concurrency control on shard metadata refresh
- Closed
- is depended on by
-
SERVER-27474 Eliminate "dropped" collections from config server list of collections
- Closed
- is related to
-
SERVER-27393 Balancer taking 100% CPU due to large number of dropped sharded collections
- Closed