[tarantool-patches] [PATCH v3 0/2] Transaction boundaries for applier

Georgy Kirichenko georgy at tarantool.org
Sun Mar 10 23:21:25 MSK 2019


This patchset consists of thwo patches.
* The first one creates a separate journal transaction for all local
  effects in case of replication what is needed to be able to replicate
  such effects back.
* The second one turns applier into transaction mode - an applier first
  fetches the whole transaction and then applies all rows within
  transaction boundaries.

Changes in v3:
 * rebased against latest 2.1.
 * use n_local_rows/n_remote_rows counters.
 * fixes and refactoring according to review.

Changes in v2:
 * Get rid of apply_initial_journal_row and apply_row from box.cc and
   purge box dependency from applier.
 * txn.cc and txn.h changes moved into a separate commit.
 * applier_read_tx uses stailq to form a list of rows in a transaction.
 * use exceptions for applier routines.
 * slight changes according to review.


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

Georgy Kirichenko (2):
  Write rows without a lsn to the transaction tail
  Transaction support for applier

 src/box/applier.cc                    | 219 +++++++++++++++++------
 src/box/txn.c                         |  42 +++--
 src/box/txn.h                         |   6 +-
 test/replication/transaction.result   | 242 ++++++++++++++++++++++++++
 test/replication/transaction.test.lua |  86 +++++++++
 5 files changed, 525 insertions(+), 70 deletions(-)
 create mode 100644 test/replication/transaction.result
 create mode 100644 test/replication/transaction.test.lua

-- 
2.21.0





More information about the Tarantool-patches mailing list