[JAVA-4289] Change stream cursors should be resilient to replicaset changes Created: 29/Mar/21 Updated: 28/Oct/23 Resolved: 14/Oct/21 |
|
| Status: | Closed |
| Project: | Java Driver |
| Component/s: | Change Streams |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ross Lawley | Assignee: | Jeffrey Yemin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
When running a change stream cursor it should be resilient to replicaset changes. Reproducing the error: 1. Create a change stream cursor
Then hide the secondary node the cursor is using eg:
Produces this error:
Expected/desired result: the change stream should resume on a different secondary. This may impact tailable cursors as well. Note: When using a primary read preference, the change stream is resilient to topology changes. |
| Comments |
| Comment by Jeffrey Yemin [ 14/Oct/21 ] |
|
Does not cherrypick cleanly to 4.3.x branch, so no longer plan to backport |
| Comment by Githook User [ 14/Oct/21 ] |
|
Author: {'name': 'Jeff Yemin', 'email': 'jeff.yemin@mongodb.com', 'username': 'jyemin'}Message: Resume change stream on any MongoClientException (#800) In order to handle the reported scenario, several changes are made: 1. DefaultConnectionPool throws a MongoServerUnavailableException if the pool is closed
|