[tarantool-patches] [PATCH v2 0/3] Transaction boundaries for applier

Georgy Kirichenko georgy at tarantool.org
Wed Mar 6 23:16:14 MSK 2019


This patchset consists of three patches.
* The first one removes xstream dependency from applier.
* The second 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 third one turns applier into transaction mode - an applier first
  fetches the whole transaction and then applies all rows within
  transaction boundaries.

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.

Georgy Kirichenko (3):
  Applier gets rid of a xstream
  Put all new rows to the end of journal request
  Transaction support for applier

 src/box/applier.cc                    | 276 ++++++++++++++++++++------
 src/box/applier.h                     |   9 +-
 src/box/box.cc                        |  68 +------
 src/box/txn.c                         |  36 +++-
 src/box/txn.h                         |   4 +
 test/replication/transaction.result   | 240 ++++++++++++++++++++++
 test/replication/transaction.test.lua |  86 ++++++++
 7 files changed, 581 insertions(+), 138 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