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

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

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 3.6.0-rc0
    • None
    • Replication
    • None
    • Fully Compatible
    • Repl 2017-08-21, Repl 2017-09-11, Repl 2017-10-02

    Description

      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

      Attachments

        Activity

          People

            siyuan.zhou@mongodb.com Siyuan Zhou
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: