[JAVA-4396] Ignore read preference for $out/$merge on secondaries if any servers are pre-5.0 Created: 08/Nov/21  Updated: 04/May/22  Resolved: 10/Nov/21

Status: Closed
Project: Java Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: PM Bot Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: spec-compliance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates JAVA-4380 Fix server selection logic for $out/$... Closed
Issue split
split from DRIVERS-1969 Ignore read preference for $out/$merg... Closed
Quarter: FY22Q4
Upstream Changes Summary:

DRIVERS-1969:
In mongodb/specifications@747b748, the rules were applying a read preference for aggregations using $out and $merge was changed. Previously, drivers were instructed to attempt using the read preference and only fall back to a primary if a pre-5.0 secondary was selected.

This was changed to require drivers to always disregard the read preference if there is any evidence of a pre-5.0 server. If there are either no available servers or all servers are 5.0+ (or load balanced, where we assume 5.0+), drivers can utilize the read preference.

Spec tests have not been changed, as this clarification really only changes behavior for mixed version clusters or a replica set consisting of a single pre-5.0 primary, neither of which are tested.


 Description   

This ticket was split from DRIVERS-1969, please see that ticket for a detailed description.


Generated at Thu Feb 08 09:01:58 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.