From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: tarantool-patches@dev.tarantool.org, sergepetrenko@tarantool.org Subject: [Tarantool-patches] [PATCH 6/6] qsync: reset confirmed lsn in limbo on owner change Date: Wed, 14 Oct 2020 01:28:32 +0200 [thread overview] Message-ID: <2b2c5e58d35d04541546988308567f07204c5cff.1602631481.git.v.shpilevoy@tarantool.org> (raw) In-Reply-To: <cover.1602631481.git.v.shpilevoy@tarantool.org> Order of LSNs from different instances can be any. It means, that if the synchronous transaction limbo changed its owner, the old value of maximal confirmed LSN does not make sense. The new owner means new LSNs, even less than the previously confirmed LSN of an old owner. The patch resets the confirmed LSN when the owner is changed. No specific test for that, as this is a hotfix - tests start fail on every run after a new election test was added in the previous commit. A test for this bug will be added later. Part of #5395 --- src/box/txn_limbo.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/box/txn_limbo.c b/src/box/txn_limbo.c index 3655338d8..908a17fcc 100644 --- a/src/box/txn_limbo.c +++ b/src/box/txn_limbo.c @@ -76,6 +76,7 @@ txn_limbo_append(struct txn_limbo *limbo, uint32_t id, struct txn *txn) if (limbo->instance_id == REPLICA_ID_NIL || rlist_empty(&limbo->queue)) { limbo->instance_id = id; + limbo->confirmed_lsn = 0; } else { diag_set(ClientError, ER_UNCOMMITTED_FOREIGN_SYNC_TXNS, limbo->instance_id); -- 2.21.1 (Apple Git-122.3)
next prev parent reply other threads:[~2020-10-13 23:28 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-13 23:28 [Tarantool-patches] [PATCH 0/6] Raft auto-commit Vladislav Shpilevoy 2020-10-13 23:28 ` [Tarantool-patches] [PATCH 1/6] test: add '_stress' suffix to election_qsync test Vladislav Shpilevoy 2020-10-13 23:28 ` [Tarantool-patches] [PATCH 2/6] raft: factor out the code to wakeup worker fiber Vladislav Shpilevoy 2020-10-14 13:29 ` Cyrill Gorcunov 2020-10-14 22:40 ` Vladislav Shpilevoy 2020-10-15 6:50 ` Cyrill Gorcunov 2020-10-13 23:28 ` [Tarantool-patches] [PATCH 3/6] raft: new candidate should wait for leader death Vladislav Shpilevoy 2020-10-13 23:28 ` [Tarantool-patches] [PATCH 4/6] raft: introduce on_update trigger Vladislav Shpilevoy 2020-10-13 23:28 ` [Tarantool-patches] [PATCH 5/6] raft: auto-commit transactions of the old leader Vladislav Shpilevoy 2020-10-13 23:28 ` Vladislav Shpilevoy [this message] 2020-11-24 23:23 ` [Tarantool-patches] [PATCH 6/6] qsync: reset confirmed lsn in limbo on owner change Vladislav Shpilevoy 2020-10-14 7:34 ` [Tarantool-patches] [PATCH 0/6] Raft auto-commit Serge Petrenko 2020-10-14 22:40 ` Vladislav Shpilevoy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=2b2c5e58d35d04541546988308567f07204c5cff.1602631481.git.v.shpilevoy@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=sergepetrenko@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 6/6] qsync: reset confirmed lsn in limbo on owner change' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox