[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: |
|
||||||||||||||||
| 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:
|
| 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: This includes the start of |
| Comment by Githook User [ 04/Nov/15 ] |
|
Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: This includes the start of |