[SERVER-21129] Allow pipelining of applier work before updating-position/reporting Created: 26/Oct/15  Updated: 10/Mar/16  Resolved: 30/Oct/15

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.2.0-rc2

Type: Improvement Priority: Major - P3
Reporter: Scott Hernandez (Inactive) Assignee: Matt Dannenberg
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-21237 ReplSetTest.prototype.awaitReplicatio... Closed
is depended on by SERVER-21107 Improve protocol version 1 replicatio... Closed
Related
is related to SERVER-23046 Reimplement operation pipelining appl... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl C (11/20/15)
Participants:

 Description   

Currently the applier must (sequentially) do the following in a loop:

  1. batch oplog entries
  2. apply and record in local oplog
  3. journal, including minvalid
  4. report/update-position

The task here is to break the last two steps (journal + reporting) into a separate process which doesn't block the next batch from starting/applying. This should allow higher throughput on the replicas without adversely affecting latency.



 Comments   
Comment by Githook User [ 30/Oct/15 ]

Author:

{u'username': u'dannenberg', u'name': u'matt dannenberg', u'email': u'matt.dannenberg@10gen.com'}

Message: SERVER-21129 wait for batch apply flush in a separate thread
Branch: master
https://github.com/mongodb/mongo/commit/847c0f67ad0f8f0469c7e4afb0936741ec0baafe

Comment by Scott Hernandez (Inactive) [ 26/Oct/15 ]

Matt, let's talk in the morning so we can get a spike done asap.

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