Close change notification cursors when a chunk migrates to a new shard

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.6.0-rc0
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • Repl 2017-08-21, Repl 2017-09-11, Repl 2017-10-02
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When a new shard is added to the cluster, any existing change notification cursors won't have corresponding cursors on that shard, so if chunks migrate to that shard future updates to that data could be missed by existing change notification cursors.

      To protect against this, any time a shard donates a chunk to another shard, it will first check its copy of the routing table to determine if the destination shard has any chunks for that collection. If not, then it will close all of its own change notification cursors on that collection. This will cause the mongos to close its corresponding cluster change notification cursor, which will in turn cause the driver to retry the change notification request, at which point the new change notification cursor will target all existing shards and include the newly added shard

            Assignee:
            Siyuan Zhou
            Reporter:
            Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: