[tarantool-patches] [PATCH v3 0/2] Transaction boundaries in replication protocol

Georgy Kirichenko georgy at tarantool.org
Tue Feb 12 23:04:30 MSK 2019


This patchset introduces transactional replication and consist of two
commits:
 * the first one forms transaction boundaries in a xlog
 * the second one forms transactions in applier buffers and then
   applies them with correct begin/commit boundaries.


Note: distributed transaction are not supported so we form a
separate transaction for all local triggers effects.

Changes in v3:
 - Change encoding in order to achieve better compaction
 - Transactional replication test

Changes in v2:
 - Rebased against latest 2.1
 - Fixed extraction for local replication effects

Issue: https://github.com/tarantool/tarantool/issues/2798
Branch: https://github.com/tarantool/tarantool/tree/g.kirichenko/gh-2798-transaction-boundaries

Georgy Kirichenko (2):
  Journal transaction boundaries
  Transaction support for applier

 src/box/applier.cc                    | 185 +++++++++++++++-----
 src/box/iproto_constants.c            |   4 +-
 src/box/iproto_constants.h            |   7 +
 src/box/txn.c                         |  21 ++-
 src/box/txn.h                         |   2 +
 src/box/wal.c                         |  28 ++-
 src/box/xrow.c                        |  36 ++++
 src/box/xrow.h                        |   4 +-
 test/replication/transaction.result   | 240 ++++++++++++++++++++++++++
 test/replication/transaction.test.lua |  86 +++++++++
 test/unit/xrow.cc                     |   2 +
 11 files changed, 564 insertions(+), 51 deletions(-)
 create mode 100644 test/replication/transaction.result
 create mode 100644 test/replication/transaction.test.lua

-- 
2.20.1





More information about the Tarantool-patches mailing list