[CDRIVER-3329] Driver still tries to resume change streams after encountering NonResumableChangeStreamError Created: 21/Aug/19 Updated: 28/Oct/23 Resolved: 23/Aug/19 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | libmongoc |
| Affects Version/s: | None |
| Fix Version/s: | 1.15.1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kaitlin Mahar | Assignee: | Kevin Albertson |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
I noticed while running the test added via SPEC-1214 that mongoc seemed to still attempt resuming - using command monitoring I saw the following order of events:
Looking at mongoc-change-stream.c, I believe this is because the code here checks for "NonRetryableChangeStreamError" rather than "NonResumableChangeStreamError". I think this mistake occurred because the original commit for SPEC-1214 wrongly used "retryable" in the .rst file. This was corrected in a subsequent commit under the same ticket number. |
| Comments |
| Comment by Githook User [ 23/Aug/19 ] |
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: |
| Comment by Githook User [ 23/Aug/19 ] |
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: |
| Comment by Kevin Albertson [ 22/Aug/19 ] |
|
Oh good catch. I think when I implemented this I incorrectly assumed that the JSON spec tests that referred to "NonResumableChangeStreamError" were exercising this. As part of this fix, we'll add tests for errors with "NonResumableChangeStreamError" label. |