[SERVER-18285] Support linearizable reads on replica set primaries Created: 30/Apr/15  Updated: 25/Jan/17  Resolved: 07/Nov/16

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.4.0-rc3

Type: New Feature Priority: Major - P3
Reporter: Andy Schwerin Assignee: Andy Schwerin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-17975 Stale reads with WriteConcern Majorit... Closed
is depended on by JAVA-2233 Support new readConcern level "linear... Closed
Documented
is documented by DOCS-9560 Docs for SERVER-18285: Support linear... Closed
Backwards Compatibility: Minor Change
Sprint: Sharding 2016-11-21
Participants:

 Description   

This would be an alternative to using findAndModify + writeConcern, as described in DOCS-5324, to do quorum reads. A correct implementation would tie quorum reads into the replication machinery.



 Comments   
Comment by Andy Schwerin [ 07/Nov/16 ]

The work to support this was done under a number of task tickets, primarily SERVER-24497. The technique employed to ensure that the primary answering a read is still capable of committing writes is to inject no-op writes as needed to ensure that the commit time advances appropriately during read servicing.

Among other testing, SERVER-24509 introduces regular, automatic testing of linearizable single-document reads using aphyr's Jespen tool. At time of writing, this link shows recent executions of the tests against the mongodb unstable development branch.

Comment by Carsten Klein [ 22/Jun/15 ]

Please do incorporate mechanisms for failing reads based on untimely replication due to network latency or overall system i/o latency instead of prolonging client requests until the data becomes available.

Generated at Thu Feb 08 03:47:11 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.