[Tarantool-patches] [PATCH v2] txn_limbo: simplify owner migration condition
Cyrill Gorcunov
gorcunov at gmail.com
Fri Apr 16 10:17:31 MSK 2021
When limbo owner is about to change the state we should check
if there are some pending transactions which are not yet processed,
iow if queue is empty. No need to test if current limbo owner
is zero. The owner is set to zero once -- when limbo is created
during initialization.
After all I think even if owner would ever zero and we're about
to change it the queue simply must be empty, that is the only
safe state.
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
src/box/txn_limbo.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: tarantool.git/src/box/txn_limbo.c
===================================================================
--- tarantool.git.orig/src/box/txn_limbo.c
+++ tarantool.git/src/box/txn_limbo.c
@@ -94,8 +94,7 @@ txn_limbo_append(struct txn_limbo *limbo
id = instance_id;
bool make_ro = false;
if (limbo->owner_id != id) {
- if (limbo->owner_id == REPLICA_ID_NIL ||
- rlist_empty(&limbo->queue)) {
+ if (rlist_empty(&limbo->queue)) {
limbo->owner_id = id;
limbo->confirmed_lsn = 0;
if (id != instance_id)
More information about the Tarantool-patches
mailing list