From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 207B76C1AE; Thu, 20 May 2021 12:02:40 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 207B76C1AE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1621501360; bh=RLX6VXVa+pIxMFQXzSo3TReFwtBLqgoNng8E7CRaCj4=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=h833W+62ODdKwbTlWFTZlrJX1E5Sqlc/7+iuD3kVBS+tqlpvkhY6QY94Bdf/z59Rl FbZyW8udhjb5PVXY7GN4w/BtGgWOKBogxirIw7knaHUQMw3L8YWi5SWUQbnLisw/yk DSGGIJhRa4yEEAIFUf7i6rlO8jLYdfsj6JHJFhLI= Received: from smtp52.i.mail.ru (smtp52.i.mail.ru [94.100.177.112]) (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 097626C1AE for ; Thu, 20 May 2021 12:02:39 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 097626C1AE Received: by smtp52.i.mail.ru with esmtpa (envelope-from ) id 1ljeZi-0000ap-7a; Thu, 20 May 2021 12:02:38 +0300 To: v.shpilevoy@tarantool.org, gorcunov@gmail.com Date: Thu, 20 May 2021 12:02:33 +0300 Message-Id: X-Mailer: git-send-email 2.30.1 (Apple Git-130) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD91B019B01C53E51AF9055931F25A1C7413A6B5BA1B6C38DA100894C459B0CD1B906C053676B2654CAD845296B14A2CF05377725EC486409A2C95EF9F5A0584B93 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE76DA1643ED1288E2AEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637651D61939D0B3DD78638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D84436E9137F4E93FE5282AD71757BC390117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCAE9A1BBD95851C5BA471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F446042972877693876707352026055571C92BF10FF6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA73AA81AA40904B5D9A18204E546F3947C8ED1AC82D843A2BB6E0066C2D8992A164AD6D5ED66289B52698AB9A7B718F8C46E0066C2D8992A16725E5C173C3A84C30AA335BCDFF8BE43BA3038C0950A5D36B5C8C57E37DE458B0BC6067A898B09E46D1867E19FE14079C09775C1D3CA48CF3D321E7403792E342EB15956EA79C166A417C69337E82CC275ECD9A6C639B01B78DA827A17800CE7BB1D8AFE8C29F51C731C566533BA786AA5CC5B56E945C8DA X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A24209795067102C07E8F7B195E1C978311DE72B07C9B232E650138C30FF9A9D12 X-C1DE0DAB: C20DE7B7AB408E4181F030C43753B8186998911F362727C414F749A5E30D975C35F7E2FFCCCCD242DB4B37157B3D2CE6AE2361F58A4381E29C2B6934AE262D3EE7EAB7254005DCED5177E3BD826A77771E0A4E2319210D9B64D260DF9561598F01A9E91200F654B02DA3D96DA0CEF5C48E8E86DC7131B365E7726E8460B7C23C X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3458239C6F30CE7ACFABE832A4DEBBAF9BF1CCE0B8B607BF512353748A7DD8FD08FB2C5E244618C8711D7E09C32AA3244CE0B27FF633CCE114DDFDA1EF34623CD0E3D93501275E802F927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojbL9S8ysBdXjRs6glMQaGnoLfubn2RY1a X-Mailru-Sender: 583F1D7ACE8F49BD95918038521BA2AAB49FED91A72D1289BD989083E07A1BBA48497B540B0DA2FB424AE0EB1F3D1D21E2978F233C3FAE6EE63DB1732555E4A8EE80603BA4A5B0BC112434F685709FCF0DA7A0AF5A3A8387 X-Mras: Ok Subject: [Tarantool-patches] [PATCH 0/3] fix assertion failure in box.ctl.promote() X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Serge Petrenko via Tarantool-patches Reply-To: Serge Petrenko Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" The patchset fixes an assertion failure in box.ctl.promote() if it was called during an on-going WAL write. The issue is only present when promote is called on the limbo owner itself, because in this case the last synchronous entries lsn is not yet known. https://github.com/tarantool/tarantool/issues/6032 https://github.com/tarantool/tarantool/tree/sp/gh-6032-promote-wal-write Serge Petrenko (3): box: make txn reference the limbo entry txn_limbo: move lsn assignment to journal completion callback box: fix an assertion failure in box.ctl.promote() src/box/box.cc | 26 ++--- src/box/txn.c | 40 +++---- src/box/txn.h | 2 + src/box/txn_limbo.c | 42 +++++++ src/box/txn_limbo.h | 8 ++ .../gh-6032-promote-wal-write.result | 108 ++++++++++++++++++ .../gh-6032-promote-wal-write.test.lua | 41 +++++++ test/replication/suite.cfg | 1 + 8 files changed, 235 insertions(+), 33 deletions(-) create mode 100644 test/replication/gh-6032-promote-wal-write.result create mode 100644 test/replication/gh-6032-promote-wal-write.test.lua -- 2.30.1 (Apple Git-130)