[Tarantool-patches] [PATCH 2/7] replication: forbid implicit limbo owner transition
Serge Petrenko
sergepetrenko at tarantool.org
Mon Jun 21 13:13:02 MSK 2021
19.06.2021 01:49, Vladislav Shpilevoy пишет:
> Nice fixes!
>
> See 3 comments below.
>
>> diff --git a/src/box/errcode.h b/src/box/errcode.h
>> index 49aec4bf6..e3943c01d 100644
>> --- a/src/box/errcode.h
>> +++ b/src/box/errcode.h
>> @@ -278,6 +278,7 @@ struct errcode_record {
>> /*223 */_(ER_INTERFERING_PROMOTE, "Instance with replica id %u was promoted first") \
>> /*224 */_(ER_RAFT_DISABLED, "Elections were turned off while running box.ctl.promote()")\
>> /*225 */_(ER_TXN_ROLLBACK, "Transaction was rolled back") \
>> + /*226 */_(ER_SYNCHRO_QUEUE_UNCLAIMED, "The synchronous transaction queue doesn't belong to any instance")\
> 1. Maybe SYNCHRO -> SYNC? The rationality is that we
> already have a few ER_SYNC_* about synchro replication.
Ok.
>> diff --git a/test/box/error.result b/test/box/error.result
>> index 062a90399..574521a14 100644
>> --- a/test/box/error.result
>> +++ b/test/box/error.result
>> @@ -444,6 +444,7 @@ t;
>> | 223: box.error.INTERFERING_PROMOTE
>> | 224: box.error.RAFT_DISABLED
>> | 225: box.error.TXN_ROLLBACK
>> + | 226: box.error.LIMBO_UNCLAIMED
> 2. Forgot to update the result file? There is no LIMBO_UNCLAIMED error
> code. It has a new name.
Yep, sorry.
>> diff --git a/test/replication/gh-5440-qsync-ro.test.lua b/test/replication/gh-5440-qsync-ro.test.lua
>> deleted file mode 100644
>> index d63ec9c1e..000000000
>> --- a/test/replication/gh-5440-qsync-ro.test.lua
> 3. Please, drop it from suite.cfg too.
>
Sure.
Here's the diff:
========================
diff --git a/src/box/errcode.h b/src/box/errcode.h
index e3943c01d..bb3cf5eb9 100644
--- a/src/box/errcode.h
+++ b/src/box/errcode.h
@@ -278,7 +278,7 @@ struct errcode_record {
/*223 */_(ER_INTERFERING_PROMOTE, "Instance with replica
id %u was promoted first") \
/*224 */_(ER_RAFT_DISABLED, "Elections were turned
off while running box.ctl.promote()")\
/*225 */_(ER_TXN_ROLLBACK, "Transaction was rolled
back") \
- /*226 */_(ER_SYNCHRO_QUEUE_UNCLAIMED, "The synchronous
transaction queue doesn't belong to any instance")\
+ /*226 */_(ER_SYNC_QUEUE_UNCLAIMED, "The synchronous
transaction queue doesn't belong to any instance")\
/*
* !IMPORTANT! Please follow instructions at start of the file
diff --git a/src/box/txn_limbo.c b/src/box/txn_limbo.c
index b6e844f32..1dc093400 100644
--- a/src/box/txn_limbo.c
+++ b/src/box/txn_limbo.c
@@ -97,7 +97,7 @@ txn_limbo_append(struct txn_limbo *limbo, uint32_t id,
struct txn *txn)
if (id == 0)
id = instance_id;
if (limbo->owner_id == REPLICA_ID_NIL) {
- diag_set(ClientError, ER_SYNCHRO_QUEUE_UNCLAIMED);
+ diag_set(ClientError, ER_SYNC_QUEUE_UNCLAIMED);
return NULL;
} else if (limbo->owner_id != id) {
diag_set(ClientError, ER_UNCOMMITTED_FOREIGN_SYNC_TXNS,
diff --git a/test/box/error.result b/test/box/error.result
index 574521a14..dfe593dc2 100644
--- a/test/box/error.result
+++ b/test/box/error.result
@@ -444,7 +444,7 @@ t;
| 223: box.error.INTERFERING_PROMOTE
| 224: box.error.RAFT_DISABLED
| 225: box.error.TXN_ROLLBACK
- | 226: box.error.LIMBO_UNCLAIMED
+ | 226: box.error.SYNC_QUEUE_UNCLAIMED
| ...
test_run:cmd("setopt delimiter ''");
diff --git a/test/replication/suite.cfg b/test/replication/suite.cfg
index 4fc6643e4..c0854f7fa 100644
--- a/test/replication/suite.cfg
+++ b/test/replication/suite.cfg
@@ -41,7 +41,6 @@
"gh-4739-vclock-assert.test.lua": {},
"gh-4730-applier-rollback.test.lua": {},
"gh-4928-tx-boundaries.test.lua": {},
- "gh-5440-qsync-ro.test.lua": {},
"gh-5435-qsync-clear-synchro-queue-commit-all.test.lua": {},
"gh-5536-wal-limit.test.lua": {},
"gh-5566-final-join-synchro.test.lua": {},
========================
--
Serge Petrenko
More information about the Tarantool-patches
mailing list