From dc43fd0c8804aeb0bbc8a7906a823b388b7be262 Mon Sep 17 00:00:00 2001 From: Kurdakov Alexander <kusancho12@gmail.com> Date: Sat, 13 Jul 2024 01:04:09 +0300 Subject: [PATCH] fix: remove default tier from cluster configuration default tier persisted only in the absence of configuration file This partially reverts commit 6f0cee6339a4058a1b65b9373d6ea52bbec0e406. --- src/config.rs | 12 +++++------- test/int/test_config_file.py | 26 +++----------------------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/src/config.rs b/src/config.rs index 7bb9c397f1..db407f0098 100644 --- a/src/config.rs +++ b/src/config.rs @@ -783,20 +783,18 @@ pub struct ClusterConfig { impl ClusterConfig { pub fn tiers(&self) -> HashMap<String, Tier> { - let mut tier_defs = HashMap::with_capacity(self.tier.len()); - - let contains_default_tier_definition = self.tier.contains_key(DEFAULT_TIER); - if !contains_default_tier_definition { - tier_defs.insert( - DEFAULT_TIER.into(), + if self.tier.is_empty() { + return HashMap::from([( + DEFAULT_TIER.to_string(), Tier { name: DEFAULT_TIER.into(), replication_factor: self.default_replication_factor(), can_vote: true, }, - ); + )]); } + let mut tier_defs = HashMap::with_capacity(self.tier.len()); for (name, info) in &self.tier { let replication_factor = info .replication_factor diff --git a/test/int/test_config_file.py b/test/int/test_config_file.py index 091a1dd10d..55875704c4 100644 --- a/test/int/test_config_file.py +++ b/test/int/test_config_file.py @@ -403,27 +403,7 @@ def test_picodata_default_config(cluster: Cluster): i.wait_online() -def test_default_tier_without_default_replication_factor(cluster: Cluster): - # default tier wasn't created only in case of explicit configuration file - cluster.set_config_file( - yaml=""" -cluster: - cluster_id: test - tier: - not_default: -""" - ) - - instance = cluster.add_instance() - - dql = instance.sql( - 'select "replication_factor" from "_pico_tier" where "name" = \'default\'', - sudo=True, - ) - assert dql[0][0] == 1 - - -def test_default_tier_with_default_replication_factor(cluster: Cluster): +def test_default_tier_is_not_created_with_configuration_file(cluster: Cluster): # default tier wasn't created only in case of explicit configuration file cluster.set_config_file( yaml=""" @@ -435,10 +415,10 @@ cluster: """ ) - instance = cluster.add_instance() + instance = cluster.add_instance(tier="not_default") dql = instance.sql( 'select "replication_factor" from "_pico_tier" where "name" = \'default\'', sudo=True, ) - assert dql[0][0] == 3 + assert dql == [] -- GitLab