Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-27475

mongos should request an update only of the collection not found

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 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.

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            nathan.myers Nathan Myers
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: