From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 946F423604 for ; Mon, 28 May 2018 08:53:44 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YIT394JN9KtK for ; Mon, 28 May 2018 08:53:44 -0400 (EDT) Received: from smtp29.i.mail.ru (smtp29.i.mail.ru [94.100.177.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id E3A71235F8 for ; Mon, 28 May 2018 08:53:43 -0400 (EDT) From: Georgy Kirichenko 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 Message-Id: <35328a1dcd8edadbbeda7286b7e9b8024e98adc9.1527511892.git.georgy@tarantool.org> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: Georgy Kirichenko 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