From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 287AE22B8E for ; Fri, 4 Jan 2019 05:32:50 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wBzp7Hub8Gaj for ; Fri, 4 Jan 2019 05:32:50 -0500 (EST) Received: from smtp58.i.mail.ru (smtp58.i.mail.ru [217.69.128.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 8ABD922A82 for ; Fri, 4 Jan 2019 05:32:49 -0500 (EST) From: Georgy Kirichenko Subject: [tarantool-patches] [PATCH 0/5] Strong sequentially LSN in journal Date: Fri, 4 Jan 2019 13:34:10 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: Georgy Kirichenko The patchset eliminates LSN gaps from journal what is needed for synchronous replication to enforce data stream consistency. Replicaset vclock is promoted only after write, replication row applying is allowed only if previous row was processed. All conflicting rows to skip are replacing with NOPs to fill gaps. After all vclock following protected with assert to ensure that this is strict one step increase. Needed for: #980 Georgy Kirichenko (5): Do not promote wal vclock for failed writes Update replicaset vclock from wal Enforce applier out of order protection Emit NOP if an applier skips row Disallow lsn gaps while vclock following src/box/applier.cc | 113 ++++++++++++++++-------------- src/box/box.cc | 3 +- src/box/replication.cc | 2 + src/box/replication.h | 3 + src/box/vclock.c | 16 ++++- src/box/vclock.h | 3 + src/box/wal.c | 57 ++++++--------- src/box/xrow.c | 2 +- test/unit/vclock.cc | 10 +-- test/xlog-py/dup_key.result | 12 +++- test/xlog-py/dup_key.test.py | 18 +++-- test/xlog/errinj.result | 1 - test/xlog/panic_on_lsn_gap.result | 65 +++++++++-------- 13 files changed, 167 insertions(+), 138 deletions(-) -- 2.20.1