[Tarantool-patches] [PATCH 00/14] rework async and sync transactions

Cyrill Gorcunov gorcunov at gmail.com
Wed Feb 19 21:36:59 MSK 2020


Kostya, could you please take a look once time permit.
While there are a bunch of patches the base idea is the
following:

 - make journal_write to be synchronous
 - journal_write_async in turn is working in async mode
 - txn_write becomes txn_commit_async
 - the journal helpers do operate with fiber storage by
   self so now it should be possible to run rollbacks
   without problems.

The series is not for merge yet I just wanna share it
asap, I need tests and etc, I compile tested it only
just to draw the picture.

Cyrill Gorcunov (14):
  box/txn: fix void args mess
  box/journal: use plain int for return value
  box/journal: sanitize completion naming
  box/txn: rename txn_entry_done_cb to txn_entry_complete_cb
  box/txn: rename txn_write_to_wal to txn_write_to_wal_async
  box/journal: supersede journal_write with journal_write_async
  box/txn: rename txn_write to txn_commit_async
  box/txn: move setup of transaction start time to txn_prepare
  box/txn: make txn nop processing a separate routine
  box/txn: move journal entry allocation into separate routine
  box/txn: merge txn_write_to_wal_async to txn_commit_async
  box/txn: do not use journal_write_async under the hood
  box/journal: introduce journal_write
  box/txn: use journal_write in txn_commit

 src/box/applier.cc     |   2 +-
 src/box/box.cc         |   2 +-
 src/box/journal.c      |  56 +++++++++++++++--
 src/box/journal.h      |  35 ++++++-----
 src/box/txn.c          | 136 +++++++++++++++++++++++------------------
 src/box/txn.h          |  15 ++++-
 src/box/vy_scheduler.c |   2 +-
 src/box/wal.c          |   8 +--
 8 files changed, 167 insertions(+), 89 deletions(-)

-- 
2.20.1



More information about the Tarantool-patches mailing list