From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp45.i.mail.ru (smtp45.i.mail.ru [94.100.177.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 0F550445320 for ; Mon, 20 Jul 2020 23:43:08 +0300 (MSK) From: Vladislav Shpilevoy Date: Mon, 20 Jul 2020 22:43:04 +0200 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 0/2] Qsync crash on WAL write fail List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org, gorcunov@gmail.com The patchset fixes the crash when a synchronous transaction couldn't to local master's WAL, getting an error from inside of the WAL thread. Note, the test is added to the existing file instead of creating a new one intentionally. It is not so cheap to create new instance for each new test, and also would complicate running all qsync tests by prefix like this: `python test-run.py replication/qsync`. Besides, the test is simple. Copy-pastable to console not counting test_run:switch() calls. Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-5146-qsync-crash Issue: https://github.com/tarantool/tarantool/issues/5146 Vladislav Shpilevoy (2): txn: single failure point for WAL and TX commit errors txn: single failure point for WAL and TX async commit errors src/box/txn.c | 88 +++++++++++--------------- test/replication/qsync_errinj.result | 69 ++++++++++++++++++++ test/replication/qsync_errinj.test.lua | 28 ++++++++ 3 files changed, 134 insertions(+), 51 deletions(-) -- 2.21.1 (Apple Git-122.3)