[DRIVERS-21] Unpin member when read preference changes Created: 07/Nov/12  Updated: 27/May/22  Resolved: 24/Sep/18

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

Type: Improvement Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Barrie Segal
Resolution: Done Votes: 0
Labels: 3.0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on RUBY-475 Changing read preference should unpin... Closed
depends on CDRIVER-239 Unpin member when read preference cha... Closed
depends on NODE-74 Unpin member when read preference cha... Closed
depends on SERVER-7636 Do not use cached connection when rea... Closed
depends on CSHARP-838 Unpin member when read preference cha... Closed
depends on JAVA-692 Even when using db.requestStart/reque... Closed
depends on PYTHON-431 Unpin member when read preference cha... Closed
Server Compat: 2.4
Driver Compliance:
Key Status/Resolution FixVersion
PYTHON-431 Done 2.5
JAVA-692 Done 3.0.0
RUBY-475 Done 1.8.4
PHP-709 Done Planning Bucket A
PERL-280 Done
CDRIVER-239 Done 0.90.0
CSHARP-838 Won't Fix
NODE-74 Won't Fix

 Description   

The Read Preferences spec siad that a thread's first read in a request pins it to a replica-set member, and stays pinned until the request ends or the thread reads with a preference that the pinned member cannot satisfy. THE CHANGE: When a driver pins a thread to a member, it remembers the read preference used for this read – the mode, tags, and secondaryAcceptableLatencyMS. If the next read has a different mode, tags, or secondaryAcceptableLatencyMS, unpin the member and start the member-selection process from scratch.

NOTE: All primary operations within the request must use the same socket, even if interleaved with operations on secondaries. (For simplicity, drivers may also use a single socket on each secondary, but this is not required.)



 Comments   
Comment by David Golden [ 30/Jan/15 ]

Read pinning is removed in the new server selection spec (DRIVERS-203).

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