[SERVER-24497] implement noop writes to test for primary-ship Created: 09/Jun/16  Updated: 27/Jul/17  Resolved: 11/Aug/16

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.3.11

Type: Task Priority: Major - P3
Reporter: Hari Devaraj Assignee: Hari Devaraj
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-24499 Write optimizations for linearizable ... Backlog
Documented
is documented by DOCS-9531 Docs for SERVER-24497: implement noop... Closed
Backwards Compatibility: Major Change
Sprint: Repl 16 (06/24/16), Repl 17 (07/15/16), Repl 18 (08/05/16), Repl 2016-08-29
Participants:

 Description   

If the read is successful (returns no error otherwise and all locks are released), we then:

Generate noop writes that should be replicated to a majority of secondary nodes. When awaitReplication returns, then the primary will know it is the true primary of the set.



 Comments   
Comment by Hari Devaraj [ 11/Aug/16 ]

Linearizable Reads require writes with write concern majority.
If an error occurs: error statuses are passed back up without uasserts/invariants. If the noop write fails to replicate, the write concern error status returned from awaitReplicaton is turned into a LinearizableReadConcernError status with status code: 187.

Comment by Githook User [ 10/Aug/16 ]

Author:

{u'name': u'hari devaraj', u'email': u'hari.devaraj@10gen.com'}

Message: SERVER-24497 Linearizable read concern implemented
Branch: master
https://github.com/mongodb/mongo/commit/a0b7e4fc8cf224505267b2fe589975ba36f49078

Generated at Thu Feb 08 04:06:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.