[SERVER-21155] Only parse oplog entries once during replication (apply phase) Created: 27/Oct/15  Updated: 17/Nov/15  Resolved: 13/Nov/15

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

Type: Improvement Priority: Major - P3
Reporter: Scott Hernandez (Inactive) Assignee: Scott Hernandez (Inactive)
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-21107 Improve protocol version 1 replicatio... Closed
Related
is related to SERVER-21154 Prepare Apply Batches Outside of Appl... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl B (10/30/15), Repl C (11/20/15)
Participants:

 Description   

Once the oplog entries are fetches from the upstream source the same fields, "ns", "op", "ts" and others are repeatedly read from the same entry causing lots of extra parsing/work.

One possible solution is to create a simple struct to wrap the BSONObj which caches the well-known fields:

  • ts
  • ns
  • op
  • o (optional)
  • o2 (optional)
  • o/o2._id (optional)


 Comments   
Comment by Scott Hernandez (Inactive) [ 13/Nov/15 ]

The apply side of this has been done with other work.

Still need to optimize on the network read side.

Comment by Githook User [ 06/Nov/15 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-21154 Batch and parse oplog entries in parallel with applying them

This includes the start of SERVER-21155.
Branch: master
https://github.com/mongodb/mongo/commit/6543f0dea026b6ff9ad6f701a8f6ca62f0679613

Comment by Githook User [ 04/Nov/15 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-21154 Batch and parse oplog entries in parallel with applying them

This includes the start of SERVER-21155.
Branch: master
https://github.com/mongodb/mongo/commit/2f70889bbfd4dea77cd26cec2dde28193b06905d

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