[SERVER-44733] Explicitly return a stream-fatal error in cases where a change stream cannot be automatically resumed Created: 19/Nov/19  Updated: 29/Oct/23  Resolved: 06/Dec/19

Status: Closed
Project: Core Server
Component/s: Aggregation Framework
Affects Version/s: None
Fix Version/s: 3.6.17, 4.2.3, 4.3.3, 4.0.15

Type: Improvement Priority: Major - P3
Reporter: Bernard Gorman Assignee: Bernard Gorman
Resolution: Fixed Votes: 0
Labels: qexec-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Duplicate
is duplicated by SERVER-44610 Missing NonResumableChangeStreamError... Closed
Problem/Incident
Related
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.2, v4.0, v3.6
Sprint: Query 2019-12-16
Participants:

 Description   

At present, change streams may throw a variety of different error codes depending on the specific failure it encountered, such as InternalError, TooManyMatchingDocuments, or an unnamed code like 40576. Drivers do not recognise these as non-resumable exceptions, which can lead them to enter an infinite retry loop on a sharded cluster.



 Comments   
Comment by Githook User [ 19/Dec/19 ]

Author:

{'name': 'Bernard Gorman', 'email': 'bernard.gorman@mongodb.com', 'username': 'gormanb'}

Message: SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup

(cherry picked from commit ccecd50087d22d90df71ab3c5dd4a58905590307)
(cherry picked from commit 20d508fbf59b05c6728162e85a9abfd06d41d0cd)
Branch: v3.6
https://github.com/mongodb/mongo/commit/4cd114fb943075fe87879d66bfc764ce75aa565b

Comment by Githook User [ 17/Dec/19 ]

Author:

{'name': 'Bernard Gorman', 'email': 'bernard.gorman@mongodb.com', 'username': 'gormanb'}

Message: SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup

(cherry picked from commit ccecd50087d22d90df71ab3c5dd4a58905590307)
(cherry picked from commit 20d508fbf59b05c6728162e85a9abfd06d41d0cd)
Branch: v4.0
https://github.com/mongodb/mongo/commit/85188fd753ef90a1e8ebd46e72f71e47d255da71

Comment by Githook User [ 17/Dec/19 ]

Author:

{'name': 'Bernard Gorman', 'email': 'bernard.gorman@mongodb.com', 'username': 'gormanb'}

Message: SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup

(cherry picked from commit ccecd50087d22d90df71ab3c5dd4a58905590307)
(cherry picked from commit 20d508fbf59b05c6728162e85a9abfd06d41d0cd)
Branch: v4.2
https://github.com/mongodb/mongo/commit/c7dc0b7fc02b4178f8513c6eae6db0820e5546f1

Comment by Githook User [ 13/Dec/19 ]

Author:

{'name': 'Bernard Gorman', 'email': 'bernard.gorman@mongodb.com', 'username': 'gormanb'}

Message: SERVER-44733 Use ChangeStreamFatalError consistently on mongoS and mongoD
Branch: master
https://github.com/mongodb/mongo/commit/20d508fbf59b05c6728162e85a9abfd06d41d0cd

Comment by Githook User [ 06/Dec/19 ]

Author:

{'name': 'Bernard Gorman', 'username': 'gormanb', 'email': 'bernard.gorman@mongodb.com'}

Message: SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup
Branch: master
https://github.com/mongodb/mongo/commit/ccecd50087d22d90df71ab3c5dd4a58905590307

Generated at Thu Feb 08 05:06:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.