-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
Repl 2017-08-21, Repl 2017-09-11, Repl 2017-10-02
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
- is duplicated by
-
SERVER-29143 Support killing active $changeNotification cursors on an unsharded collection or database when that collection or database becomes sharded.
- Closed