From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (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 2A4CE469719 for ; Wed, 19 Feb 2020 21:37:17 +0300 (MSK) Received: by mail-lf1-f46.google.com with SMTP id b15so938710lfc.4 for ; Wed, 19 Feb 2020 10:37:17 -0800 (PST) From: Cyrill Gorcunov Date: Wed, 19 Feb 2020 21:36:59 +0300 Message-Id: <20200219183713.17646-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 00/14] rework async and sync transactions List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tml 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