From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) (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 9A5F2430408 for ; Sat, 15 Aug 2020 00:14:48 +0300 (MSK) Received: by mail-lf1-f68.google.com with SMTP id c15so5514433lfi.3 for ; Fri, 14 Aug 2020 14:14:48 -0700 (PDT) From: Cyrill Gorcunov Date: Sat, 15 Aug 2020 00:14:34 +0300 Message-Id: <20200814211442.667099-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v7 0/8] 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. Note this branch carries yours "xrow: introduce struct synchro_request" which I fetched and applier manually since it wasn't yet in master branch. 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-7 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 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: factor out latch locking applier: add shorthands to queue access applier: process synchro requests without txn engine applier: drop process_synchro_row src/box/applier.cc | 295 ++++++++++++++++++++++++++++++++++---------- src/box/box.cc | 15 +-- src/box/journal.c | 8 +- src/box/journal.h | 36 ++++-- src/box/txn.c | 2 +- src/box/txn_limbo.c | 69 ++++++----- src/box/vy_log.c | 2 +- src/box/wal.c | 19 ++- src/box/wal.h | 4 +- src/box/xrow.c | 41 +++--- src/box/xrow.h | 20 ++- 11 files changed, 351 insertions(+), 160 deletions(-) -- 2.26.2