diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DefaultConfigManager.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DefaultConfigManager.java deleted file mode 100644 index b7577377a417..000000000000 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DefaultConfigManager.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.hadoop.hdds.conf; - -import com.google.common.annotations.VisibleForTesting; -import org.apache.hadoop.hdds.scm.ha.SCMHAUtils; - -import java.util.HashMap; -import java.util.Map; - -/** - * Class to store Default value of configuration keys. - */ -public final class DefaultConfigManager { - - /** Never constructed. **/ - private DefaultConfigManager() { - } - - private static final Map CONFIG_DEFAULT_MAP = new HashMap<>(); - - public static void setConfigValue(String config, T value) { - T prevValue = getValue(config, value); - if (!value.equals(prevValue)) { - throw new ConfigurationException(String.format("Setting conflicting " + - "Default Configs old default Value: %s New Default Value:%s", - prevValue.toString(), value.toString())); - } - CONFIG_DEFAULT_MAP.putIfAbsent(config, value); - } - public static T getValue(String config, T defaultValue) { - return (T) CONFIG_DEFAULT_MAP.getOrDefault(config, defaultValue); - } - - public static void forceUpdateConfigValue(String config, T value) { - CONFIG_DEFAULT_MAP.put(config, value); - } - - @VisibleForTesting - public static void clearDefaultConfigs() { - SCMHAUtils.setRatisEnabled(true); - CONFIG_DEFAULT_MAP.clear(); - } -} diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestSCMConfiguration.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestSCMConfiguration.java index 2d9a18c5a8e1..62d6fb3fffb3 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestSCMConfiguration.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestSCMConfiguration.java @@ -18,7 +18,6 @@ package org.apache.hadoop.hdds.scm.ha; import org.apache.hadoop.hdds.HddsConfigKeys; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.scm.ScmConfigKeys; import org.apache.hadoop.hdds.scm.ScmRatisServerConfig; @@ -33,6 +32,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import java.io.File; import java.io.IOException; @@ -74,7 +75,6 @@ class TestSCMConfiguration { void setup() { conf = new OzoneConfiguration(); conf.set(OZONE_METADATA_DIRS, tempDir.getAbsolutePath()); - DefaultConfigManager.clearDefaultConfigs(); } @Test @@ -293,19 +293,21 @@ public void testSamePortConfig() throws Exception { } - @Test - public void testDefaultConfigWithInitializedSCM() + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void testDefaultConfigWithInitializedSCM(boolean isRatisEnabled) throws IOException { + // The default config for RatisEnabled is true. + assertTrue(SCMHAUtils.isSCMHAEnabled(conf)); + + // If the cluster is already initalized, use the value from StorageConfig. SCMStorageConfig scmStorageConfig = mock(SCMStorageConfig.class); when(scmStorageConfig.getState()) .thenReturn(Storage.StorageState.INITIALIZED); - when(scmStorageConfig.isSCMHAEnabled()).thenReturn(false); - DefaultConfigManager.clearDefaultConfigs(); + when(scmStorageConfig.isSCMHAEnabled()).thenReturn(isRatisEnabled); SCMHANodeDetails.loadSCMHAConfig(conf, scmStorageConfig); + assertEquals(SCMHAUtils.isSCMHAEnabled(conf), scmStorageConfig.isSCMHAEnabled()); - when(scmStorageConfig.isSCMHAEnabled()).thenReturn(false); - DefaultConfigManager.clearDefaultConfigs(); - assertTrue(SCMHAUtils.isSCMHAEnabled(conf)); } } diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestSCMHAUnfinalizedStateValidationAction.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestSCMHAUnfinalizedStateValidationAction.java index 91dfaa1dafb5..c8c2e039aebf 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestSCMHAUnfinalizedStateValidationAction.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestSCMHAUnfinalizedStateValidationAction.java @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hdds.scm.upgrade; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.scm.HddsTestUtils; import org.apache.hadoop.hdds.scm.ScmConfig; @@ -67,7 +66,6 @@ public void testUpgrade(@TempDir Path dataPath) throws Exception { conf.set(ScmConfigKeys.OZONE_SCM_DB_DIRS, dataPath.toString()); conf.set(OzoneConfigKeys.OZONE_METADATA_DIRS, dataPath.toString()); // This init should always succeed, since SCM is not pre-finalized yet. - DefaultConfigManager.clearDefaultConfigs(); boolean initResult1 = StorageContainerManager.scmInit(conf, CLUSTER_ID); assertTrue(initResult1); @@ -77,7 +75,6 @@ public void testUpgrade(@TempDir Path dataPath) throws Exception { scm.getFinalizationManager().getUpgradeFinalizer().getStatus()); - DefaultConfigManager.clearDefaultConfigs(); boolean initResult2 = StorageContainerManager.scmInit(conf, CLUSTER_ID); assertTrue(initResult2); scm.start(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeySnapshot.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeySnapshot.java index 4cfc64cd4f50..6bea5c213a11 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeySnapshot.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeySnapshot.java @@ -18,7 +18,6 @@ package org.apache.hadoop.hdds.scm; import org.apache.hadoop.hdds.client.RatisReplicationConfig; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor; import org.apache.hadoop.hdds.scm.container.ContainerInfo; @@ -137,7 +136,6 @@ public void stop() { if (cluster != null) { cluster.stop(); } - DefaultConfigManager.clearDefaultConfigs(); } private void createCredentialsInKDC() throws Exception { diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeysApi.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeysApi.java index 45458182344e..91c81df0653c 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeysApi.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSecretKeysApi.java @@ -18,7 +18,6 @@ package org.apache.hadoop.hdds.scm; import org.apache.hadoop.hdds.annotation.InterfaceAudience; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.protocol.SecretKeyProtocol; import org.apache.hadoop.hdds.scm.server.SCMHTTPServerConfig; @@ -119,7 +118,6 @@ public void stop() { if (cluster != null) { cluster.stop(); } - DefaultConfigManager.clearDefaultConfigs(); } private void createCredentialsInKDC() throws Exception { diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHA.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHA.java index 2f9c8c938a31..a339a86d19b0 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHA.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHA.java @@ -19,7 +19,6 @@ package org.apache.hadoop.hdds.scm; import org.apache.hadoop.hdds.client.RatisReplicationConfig; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.protocol.proto.HddsProtos; import org.apache.hadoop.hdds.scm.container.ContainerID; @@ -118,7 +117,6 @@ public void shutdown() { if (cluster != null) { cluster.shutdown(); } - DefaultConfigManager.clearDefaultConfigs(); } @Test diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokens.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokens.java index 625cf15ea56f..210fdf937576 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokens.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokens.java @@ -20,7 +20,6 @@ import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomUtils; import org.apache.hadoop.hdds.annotation.InterfaceAudience; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.scm.OzoneClientConfig; import org.apache.hadoop.hdds.scm.ScmConfig; @@ -157,7 +156,6 @@ public static void stop() { if (cluster != null) { cluster.stop(); } - DefaultConfigManager.clearDefaultConfigs(); } @Test diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokensCLI.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokensCLI.java index 4c6b9b2aaf1d..fd34eada285a 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokensCLI.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestBlockTokensCLI.java @@ -20,7 +20,6 @@ import com.google.common.collect.Maps; import org.apache.hadoop.hdds.annotation.InterfaceAudience; import org.apache.hadoop.ozone.admin.OzoneAdmin; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.scm.ScmConfig; import org.apache.hadoop.hdds.scm.server.SCMHTTPServerConfig; @@ -127,7 +126,6 @@ public static void stop() { if (cluster != null) { cluster.stop(); } - DefaultConfigManager.clearDefaultConfigs(); } private SecretKeyManager getScmSecretKeyManager() { diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java index 0c9af3b2ad4e..6497444f1418 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMultipartObjectGet.java @@ -18,7 +18,6 @@ package org.apache.hadoop.ozone; import org.apache.commons.lang3.RandomUtils; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.utils.IOUtils; import org.apache.hadoop.ozone.client.OzoneClient; @@ -121,7 +120,6 @@ public static void stop() { if (cluster != null) { cluster.stop(); } - DefaultConfigManager.clearDefaultConfigs(); } private String initiateMultipartUpload() throws IOException, OS3Exception { diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestSecureOzoneCluster.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestSecureOzoneCluster.java index b0da3fce839b..53d0d817e086 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestSecureOzoneCluster.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestSecureOzoneCluster.java @@ -42,7 +42,6 @@ import org.apache.commons.validator.routines.DomainValidator; import org.apache.hadoop.hdds.HddsConfigKeys; -import org.apache.hadoop.hdds.conf.DefaultConfigManager; import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.protocol.proto.HddsProtos; import org.apache.hadoop.hdds.protocol.proto.SCMSecurityProtocolProtos; @@ -280,7 +279,6 @@ void stop() throws Exception { } catch (Exception e) { LOG.error("Failed to stop TestSecureOzoneCluster", e); } - DefaultConfigManager.clearDefaultConfigs(); } private void createCredentialsInKDC() throws Exception {