Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
This issue is about perf testing a redo of the write pipeline so that rather than:
- take rowlock
- start mvcc
- append to WAL
- add to memstore
- sync WAL
- let go of rowlock
- finish up mvcc
instead.... try...
- take rowlock
- start mvcc
- append to WAL
- sync WAL
- add to memstore
- finish up mvcc
- let go of rowlock
The latter is more straight-forward undoing need of rolling back memstore if all does not succeed.
It might be slower though. This issue is a look-see/try it.
The redo will also help address the parent issue in a more general way so we can do without the special-casing done for branch-1.0 and branch-1.1 done in a sibling subtask.
Other benefits are that the current write pipeline is copy/pasted in a few places – in append, increment and checkand* – and a refactor will allow us to fix this duplication.