[JAVA-3938] Change stream connections not returned Created: 14/Jan/21 Updated: 05/Apr/21 Resolved: 11/Feb/21 |
|
| Status: | Closed |
| Project: | Java Driver |
| Component/s: | Async, Change Streams |
| Affects Version/s: | 4.1.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ross Lawley | Assignee: | Ross Lawley |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
Where the max connections is 100 the following code will fail to complete:
|
| Comments |
| Comment by Githook User [ 05/Apr/21 ] |
|
Author: {'name': 'Valentin Kovalenko', 'email': 'valentin.kovalenko@mongodb.com', 'username': 'stIncMale'}Message: Backport to 4.2.x
Ensures that all sessions are returned to the pool
Before the changes made within The approach with using startAtOperationTime to ensure that Co-authored-by: Ross Lawley <ross.lawley@gmail.com> |
| Comment by Githook User [ 08/Feb/21 ] |
|
Author: {'name': 'Ross Lawley', 'email': 'ross.lawley@gmail.com', 'username': 'rozza'}Message: Regression test for change stream cancellation (#661) Ensures that all sessions are returned to the pool
|
| Comment by Ross Lawley [ 05/Feb/21 ] |
|
Adding regression test |
| Comment by Ross Lawley [ 15/Jan/21 ] |
|
The issue here is on a tailable cursor getMore waits for a result before returning, so the cancellation is scheduled but it requires the getMore to return before its processed. If the getMore returns the pending close will happen and the connection is released. Its probably best that the fix for |
| Comment by Ross Lawley [ 14/Jan/21 ] |
|
Note: This could be related to |