-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Unknown
-
Affects Version/s: None
-
Component/s: Change Streams
-
None
-
Java Drivers
-
None
-
None
-
None
-
None
-
None
-
None
ChangeStream resume attempts reselect a server, violating spec.
On resume, the driver selects a server twice. In temporary mixed-version deployments (e.g during rolling upgrades/downgrades), If the first selection is a server with max wire version < 7 and the second is >= 7, the decision about whether to include startAtOperationTime becomes inconsistent. Per spec, when there is no cached resumeToken, a saved operation time exists, and max wire version ≥ 7, the driver MUST set startAtOperationTime; otherwise it MUST NOT. We must select a server once per resume attempt and send the request to that server to ensure consistent parameter selection.