Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v9 0/7] qsync: write CONFIRM/ROLLBACK without txn engine
@ 2020-08-19 21:34 Cyrill Gorcunov
  2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 1/7] journal: bind asynchronous write completion to an entry Cyrill Gorcunov
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Cyrill Gorcunov @ 2020-08-19 21:34 UTC (permalink / raw)
  To: tml; +Cc: Vladislav Shpilevoy

In this series we write CONFIRM/ROLLBACK messages into the WAL directly
without involving the txn engine.

Vlad, take a look please, once time permit. Since the series reaches
v9 I desided to resend it instead of continue replying old thread,
just for a final review.

First 4 patches you've read already and hopefully I addressed
all your comments.

issue https://github.com/tarantool/tarantool/issues/5129
branch gorcunov/gh-5129-journal-9

v3:
 - bootstrap journal left NULL for async write
 - journal_write_async_cb_t type for async callback
 - struct synchro_body_bin type for encoded message
 - xrow_encode_synchro helper to operate with synchro_body_bin

v7:
 - rebase on master
 - rework applier code

v8:
 - move synchro requests processing into
   applier_apply_tx (by Vlad)
 - drop synchro processing from txn_add_redo

v9:
 - rebase on master branch
 - drop "applier: add shorthands to queue access"
   from the series

Cyrill Gorcunov (7):
  journal: bind asynchronous write completion to an entry
  journal: add journal_entry_create helper
  qsync: provide a binary form of syncro entries
  qsync: direct write of CONFIRM/ROLLBACK into a journal
  applier: process synchro requests without txn engine
  txn: txn_add_redo -- drop synchro processing
  xrow: drop xrow_header_dup_body

 src/box/applier.cc  | 200 ++++++++++++++++++++++++++++++++------------
 src/box/box.cc      |  15 ++--
 src/box/journal.c   |   8 +-
 src/box/journal.h   |  36 ++++++--
 src/box/txn.c       |  11 +--
 src/box/txn_limbo.c |  71 +++++++++-------
 src/box/vy_log.c    |   2 +-
 src/box/wal.c       |  19 ++---
 src/box/wal.h       |   4 +-
 src/box/xrow.c      |  56 ++++---------
 src/box/xrow.h      |  28 ++++---
 11 files changed, 271 insertions(+), 179 deletions(-)


base-commit: ee07eab4da1d00da6ed848f1833cacd32b71c6eb
-- 
2.26.2

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-08-24 21:16 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 21:34 [Tarantool-patches] [PATCH v9 0/7] qsync: write CONFIRM/ROLLBACK without txn engine Cyrill Gorcunov
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 1/7] journal: bind asynchronous write completion to an entry Cyrill Gorcunov
2020-08-21  7:48   ` Serge Petrenko
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 2/7] journal: add journal_entry_create helper Cyrill Gorcunov
2020-08-21  7:51   ` Serge Petrenko
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 3/7] qsync: provide a binary form of syncro entries Cyrill Gorcunov
2020-08-21  8:15   ` Serge Petrenko
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 4/7] qsync: direct write of CONFIRM/ROLLBACK into a journal Cyrill Gorcunov
2020-08-19 22:43   ` Vladislav Shpilevoy
2020-08-20  7:13     ` Cyrill Gorcunov
2020-08-21  8:36   ` Serge Petrenko
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 5/7] applier: process synchro requests without txn engine Cyrill Gorcunov
2020-08-21  8:51   ` Serge Petrenko
2020-08-21 21:59     ` Vladislav Shpilevoy
2020-08-23 12:15       ` Serge Petrenko
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 6/7] txn: txn_add_redo -- drop synchro processing Cyrill Gorcunov
2020-08-21  8:52   ` Serge Petrenko
2020-08-19 21:34 ` [Tarantool-patches] [PATCH v9 7/7] xrow: drop xrow_header_dup_body Cyrill Gorcunov
2020-08-21  8:57   ` Serge Petrenko
2020-08-24 21:16 ` [Tarantool-patches] [PATCH v9 0/7] qsync: write CONFIRM/ROLLBACK without txn engine Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox