From: Georgy Kirichenko <georgy@tarantool.org>
To: tarantool-patches@freelists.org
Cc: Georgy Kirichenko <georgy@tarantool.org>
Subject: [tarantool-patches] [PATCH] Don't raise on box.cfg for instance_uuid and replicaset_uuid
Date: Mon, 28 May 2018 15:53:38 +0300 [thread overview]
Message-ID: <35328a1dcd8edadbbeda7286b7e9b8024e98adc9.1527511892.git.georgy@tarantool.org> (raw)
Handle cases if instance_uuid and replicaset_uuid are present in
box.cfg and have same values as already set.
Fixes #3421
---
Branch: https://github.com/tarantool/tarantool/tree/gh-3421-box-cfg-instance-uuid
Issue: https://github.com/tarantool/tarantool/issues/3421
src/box/lua/load_cfg.lua | 14 ++++++++++++++
test/box/cfg.result | 15 +++++++++++++++
test/box/cfg.test.lua | 6 ++++++
3 files changed, 35 insertions(+)
diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua
index d4f2128db..142c1bd04 100644
--- a/src/box/lua/load_cfg.lua
+++ b/src/box/lua/load_cfg.lua
@@ -183,6 +183,18 @@ local dynamic_cfg = {
force_recovery = function() end,
replication_timeout = private.cfg_set_replication_timeout,
replication_connect_quorum = private.cfg_set_replication_connect_quorum,
+ instance_uuid = function()
+ if box.cfg.instance_uuid ~= box.info.uuid then
+ box.error(box.error.CFG, 'instance_uuid',
+ 'Can\'t change instance uuid')
+ end
+ end,
+ replicaset_uuid = function(new_value)
+ if box.cfg.replicaset_uuid ~= box.info.cluster.uuid then
+ box.error(box.error.CFG, 'replicaset_uuid',
+ 'Can\'t change replicaset uuid')
+ end
+ end,
}
local dynamic_cfg_skip_at_load = {
@@ -194,6 +206,8 @@ local dynamic_cfg_skip_at_load = {
wal_dir_rescan_delay = true,
custom_proc_title = true,
force_recovery = true,
+ instance_uuid = true,
+ replicaset_uuid = true,
}
local function convert_gb(size)
diff --git a/test/box/cfg.result b/test/box/cfg.result
index 67539cd17..d53e164ab 100644
--- a/test/box/cfg.result
+++ b/test/box/cfg.result
@@ -226,6 +226,21 @@ box.cfg{vinyl_write_threads = "threads"}
---
- error: 'Incorrect value for option ''vinyl_write_threads'': should be of type number'
...
+box.cfg{instance_uuid = box.info.uuid}
+---
+...
+box.cfg{instance_uuid = '12345678-0123-5678-1234-abcdefabcdef'}
+---
+- error: 'Incorrect value for option ''instance_uuid'': Can''t change instance uuid'
+...
+box.cfg{replicaset_uuid = box.info.cluster.uuid}
+---
+...
+box.cfg{replicaset_uuid = '12345678-0123-5678-1234-abcdefabcdef'}
+---
+- error: 'Incorrect value for option ''replicaset_uuid'': Can''t change replicaset
+ uuid'
+...
--------------------------------------------------------------------------------
-- Test of default cfg options
--------------------------------------------------------------------------------
diff --git a/test/box/cfg.test.lua b/test/box/cfg.test.lua
index a73ae395b..dbb463025 100644
--- a/test/box/cfg.test.lua
+++ b/test/box/cfg.test.lua
@@ -27,6 +27,12 @@ box.cfg{vinyl = "vinyl"}
box.cfg{vinyl_write_threads = "threads"}
+box.cfg{instance_uuid = box.info.uuid}
+box.cfg{instance_uuid = '12345678-0123-5678-1234-abcdefabcdef'}
+
+box.cfg{replicaset_uuid = box.info.cluster.uuid}
+box.cfg{replicaset_uuid = '12345678-0123-5678-1234-abcdefabcdef'}
+
--------------------------------------------------------------------------------
-- Test of default cfg options
--------------------------------------------------------------------------------
--
2.17.0
next reply other threads:[~2018-05-28 12:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-28 12:53 Georgy Kirichenko [this message]
2018-05-28 13:30 ` [tarantool-patches] " Vladislav Shpilevoy
2018-05-29 16:44 ` Konstantin Osipov
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=35328a1dcd8edadbbeda7286b7e9b8024e98adc9.1527511892.git.georgy@tarantool.org \
--to=georgy@tarantool.org \
--cc=tarantool-patches@freelists.org \
--subject='Re: [tarantool-patches] [PATCH] Don'\''t raise on box.cfg for instance_uuid and replicaset_uuid' \
/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