[DRIVERS-1955] CRUD spec for $out/$merge on secondaries should consider load balancers Created: 18/Oct/21  Updated: 12/Jan/22  Resolved: 10/Jan/22

Status: Closed
Project: Drivers
Component/s: CRUD
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Jeffrey Yemin Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to DRIVERS-1969 Ignore read preference for $out/$merg... Closed
Driver Changes: Needed

 Description   

The specification says:

If a pre-5.0 mongos or a load balancer backing a pre-5.0 mongos is selected, the effective read preference is {“mode”: “primary” }``.

The problem is that for a load balancer, drivers don’t do SDAM so they don’t have a wire version during server selection to compare against.

It would be reasonable to assume load balancers are only backing 5.0+ servers, and specify that behavior in the CRUD spec.



 Comments   
Comment by Jeffrey Yemin [ 12/Jan/22 ]

Agreed, thanks for taking care of it.

Comment by Jeremy Mikola [ 10/Jan/22 ]

jeff.yemin:

Read preferences and server selection currently states:

Otherwise, if there are either no available servers, all available servers are 5.0+ (i.e. wire version >= 13), or the topology type is LoadBalanced (we can assume the backing mongos is 5.0+), drivers MUST use the available read preference.

That text was introduced in 747b748 for DRIVERS-1969 and committed a short while after this issue was filed. If you agree that it addresses your original issue, can you resolve this accordingly?

Generated at Thu Feb 08 08:24:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.