[SERVER-31028] Reload shard registry and ensure set of shards hasn't changed when establishing sharded change stream cursors Created: 11/Sep/17 Updated: 30/Oct/23 Resolved: 15/Nov/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying, Replication, Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.0-rc5 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Matthew Russotto |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | bkp | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Backport Requested: |
v3.6
|
||||||||||||
| Sprint: | Repl 2017-10-23, Repl 2017-11-13, Repl 2017-12-04 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
When establishing a change stream cursor on a sharded collection, mongos will try to establish cursors on all shards it knows about. To protect against a shard being added during this process, mongos will first establish cursors on every shard it knows about from its cache of the shard registry, then after all cursors have been established, it will force the shard registry to reload from the config servers and ensure that no new shards have been added. If a new shard is found, it will need to establish a cursor on any new shards, then redo the shard registry reload and recheck for new shards. |
| Comments |
| Comment by Githook User [ 15/Nov/17 ] |
|
Author: {'name': 'Matthew Russotto', 'username': 'mtrussotto', 'email': 'matthew.russotto@10gen.com'}Message: (cherry picked from commit 22e18d7f0ee7eede964c27b444035544f7b8cf68) |
| Comment by Githook User [ 14/Nov/17 ] |
|
Author: {'name': 'Matthew Russotto', 'username': 'mtrussotto', 'email': 'matthew.russotto@10gen.com'}Message: |
| Comment by Matthew Russotto [ 24/Oct/17 ] |
|
This may be obsoleted (except the test) by |