From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 62EE9431780 for ; Mon, 17 Aug 2020 16:39:22 +0300 (MSK) Received: by mail-lj1-f193.google.com with SMTP id v4so17557037ljd.0 for ; Mon, 17 Aug 2020 06:39:22 -0700 (PDT) From: Cyrill Gorcunov Date: Mon, 17 Aug 2020 16:39:09 +0300 Message-Id: <20200817133918.875558-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v8 0/9] qsync: write CONFIRM/ROLLBACK without txn engine List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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. I merged your changes into "applier: process synchro requests without txn engine" and dropped separate latch locking helper. Still accessing first and last entries in a queue is done via separate helpers since it is a way better look. 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-8 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 Cyrill Gorcunov (8): 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: add shorthands to queue access applier: process synchro requests without txn engine txn: txn_add_redo -- drop synchro processing xrow: drop xrow_header_dup_body Vladislav Shpilevoy (1): xrow: introduce struct synchro_request src/box/applier.cc | 237 +++++++++++++++++++++++++++++++++----------- src/box/box.cc | 36 +++---- src/box/journal.c | 8 +- src/box/journal.h | 36 +++++-- src/box/txn.c | 11 +- src/box/txn_limbo.c | 123 +++++++++++++---------- src/box/txn_limbo.h | 15 +-- src/box/vy_log.c | 2 +- src/box/wal.c | 19 ++-- src/box/wal.h | 4 +- src/box/xrow.c | 94 +++++------------- src/box/xrow.h | 85 ++++++++-------- 12 files changed, 377 insertions(+), 293 deletions(-) -- 2.26.2