[tarantool-patches] [PATCH 0/5] Strong sequentially LSN in journal
Georgy Kirichenko
georgy at tarantool.org
Fri Jan 4 13:34:10 MSK 2019
The patchset eliminates LSN gaps from journal what is needed for
synchronous replication to enforce data stream consistency.
Replicaset vclock is promoted only after write, replication row applying
is allowed only if previous row was processed. All conflicting rows to skip
are replacing with NOPs to fill gaps. After all vclock following
protected with assert to ensure that this is strict one step increase.
Needed for: #980
Georgy Kirichenko (5):
Do not promote wal vclock for failed writes
Update replicaset vclock from wal
Enforce applier out of order protection
Emit NOP if an applier skips row
Disallow lsn gaps while vclock following
src/box/applier.cc | 113 ++++++++++++++++--------------
src/box/box.cc | 3 +-
src/box/replication.cc | 2 +
src/box/replication.h | 3 +
src/box/vclock.c | 16 ++++-
src/box/vclock.h | 3 +
src/box/wal.c | 57 ++++++---------
src/box/xrow.c | 2 +-
test/unit/vclock.cc | 10 +--
test/xlog-py/dup_key.result | 12 +++-
test/xlog-py/dup_key.test.py | 18 +++--
test/xlog/errinj.result | 1 -
test/xlog/panic_on_lsn_gap.result | 65 +++++++++--------
13 files changed, 167 insertions(+), 138 deletions(-)
--
2.20.1
More information about the Tarantool-patches
mailing list