This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new cb44d5e6be HDDS-11555. SCMDBDefinition should be singleton. (#7296)
cb44d5e6be is described below

commit cb44d5e6be018487d0166c0fa6b8c4adb31f335b
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Fri Oct 11 21:57:04 2024 -0700

    HDDS-11555. SCMDBDefinition should be singleton. (#7296)
---
 .../hadoop/hdds/scm/ha/InterSCMGrpcService.java    | 12 +++++-----
 .../hadoop/hdds/scm/ha/SCMHAManagerImpl.java       | 26 +++++++++++-----------
 .../hadoop/hdds/scm/metadata/SCMDBDefinition.java  | 18 ++++++++-------
 .../hdds/scm/metadata/SCMMetadataStoreImpl.java    |  2 +-
 .../scm/container/TestContainerManagerImpl.java    |  3 +--
 .../scm/container/TestContainerReportHandler.java  |  3 +--
 .../scm/container/TestContainerStateManager.java   |  3 +--
 .../TestIncrementalContainerReportHandler.java     |  3 +--
 .../scm/container/TestUnknownContainerReport.java  |  3 +--
 .../replication/TestLegacyReplicationManager.java  |  6 ++---
 .../ha/TestStatefulServiceStateManagerImpl.java    |  2 +-
 .../hdds/scm/node/TestContainerPlacement.java      |  3 +--
 .../TestPipelineDatanodesIntersection.java         |  3 +--
 .../hdds/scm/pipeline/TestPipelineManagerImpl.java |  2 +-
 .../scm/pipeline/TestPipelinePlacementFactory.java |  3 +--
 .../scm/pipeline/TestPipelinePlacementPolicy.java  |  3 +--
 .../scm/pipeline/TestPipelineStateManagerImpl.java |  3 +--
 .../scm/pipeline/TestRatisPipelineProvider.java    |  3 +--
 .../scm/pipeline/TestSimplePipelineProvider.java   |  3 +--
 .../pipeline/TestWritableECContainerProvider.java  |  3 +--
 .../hadoop/hdds/scm/TestSCMInstallSnapshot.java    |  9 ++++----
 .../hdds/scm/TestSCMInstallSnapshotWithHA.java     |  5 ++---
 .../ozone/recon/scm/ReconSCMDBDefinition.java      |  2 +-
 .../hadoop/ozone/debug/DBDefinitionFactory.java    |  2 +-
 .../freon/containergenerator/GeneratorScm.java     |  2 +-
 .../ozone/debug/TestDBDefinitionFactory.java       |  3 +--
 26 files changed, 56 insertions(+), 74 deletions(-)

diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/InterSCMGrpcService.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/InterSCMGrpcService.java
index bd4b56cd8c..ec95ab66bf 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/InterSCMGrpcService.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/InterSCMGrpcService.java
@@ -18,8 +18,7 @@
 package org.apache.hadoop.hdds.scm.ha;
 
 import java.io.IOException;
-
-import com.google.common.base.Preconditions;
+import java.util.Objects;
 
 import 
org.apache.hadoop.hdds.protocol.scm.proto.InterSCMProtocolProtos.CopyDBCheckpointRequestProto;
 import 
org.apache.hadoop.hdds.protocol.scm.proto.InterSCMProtocolProtos.CopyDBCheckpointResponseProto;
@@ -52,12 +51,11 @@ public class InterSCMGrpcService extends
   private final Table<String, TransactionInfo> transactionInfoTable;
 
   InterSCMGrpcService(final StorageContainerManager scm) throws IOException {
-    Preconditions.checkNotNull(scm);
+    Objects.requireNonNull(scm, "scm");
     this.scm = scm;
     this.transactionInfoTable = HAUtils.getTransactionInfoTable(
-        scm.getScmMetadataStore().getStore(), new SCMDBDefinition());
-    provider =
-        new SCMDBCheckpointProvider(scm.getScmMetadataStore().getStore());
+        scm.getScmMetadataStore().getStore(), SCMDBDefinition.get());
+    this.provider = new 
SCMDBCheckpointProvider(scm.getScmMetadataStore().getStore());
   }
 
   @Override
@@ -67,7 +65,7 @@ public class InterSCMGrpcService extends
       scm.getScmHAManager().asSCMHADBTransactionBuffer().flush();
       TransactionInfo transactionInfo =
           transactionInfoTable.get(TRANSACTION_INFO_KEY);
-      Preconditions.checkNotNull(transactionInfo);
+      Objects.requireNonNull(transactionInfo, "transactionInfo");
       SCMGrpcOutputStream outputStream =
           new SCMGrpcOutputStream(responseObserver, scm.getClusterId(),
               BUFFER_SIZE);
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java
index fc3c1548ba..5d0ea444ef 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java
@@ -72,6 +72,7 @@ public class SCMHAManagerImpl implements SCMHAManager {
 
   private final SCMRatisServer ratisServer;
   private final ConfigurationSource conf;
+  private final OzoneConfiguration ozoneConf;
   private final SecurityConfig securityConfig;
   private final DBTransactionBuffer transactionBuffer;
   private final SCMSnapshotProvider scmSnapshotProvider;
@@ -89,6 +90,7 @@ public class SCMHAManagerImpl implements SCMHAManager {
       final SecurityConfig securityConfig,
       final StorageContainerManager scm) throws IOException {
     this.conf = conf;
+    this.ozoneConf = OzoneConfiguration.of(conf);
     this.securityConfig = securityConfig;
     this.scm = scm;
     this.exitManager = new ExitManager();
@@ -128,7 +130,7 @@ public class SCMHAManagerImpl implements SCMHAManager {
       // It will first try to add itself to existing ring
       final SCMNodeDetails nodeDetails =
           scm.getSCMHANodeDetails().getLocalNodeDetails();
-      final boolean success = HAUtils.addSCM(OzoneConfiguration.of(conf),
+      final boolean success = HAUtils.addSCM(ozoneConf,
           new AddSCMRequest.Builder().setClusterId(scm.getClusterId())
               .setScmId(scm.getScmId())
               .setRatisAddr(nodeDetails
@@ -221,17 +223,18 @@ public class SCMHAManagerImpl implements SCMHAManager {
     }
   }
 
+  private TransactionInfo getTransactionInfoFromCheckpoint(Path 
checkpointLocation) throws IOException {
+    return HAUtils.getTrxnInfoFromCheckpoint(
+        ozoneConf, checkpointLocation, SCMDBDefinition.get());
+  }
+
   @Override
   public TermIndex verifyCheckpointFromLeader(String leaderId,
                                               DBCheckpoint checkpoint) {
     try {
       Path checkpointLocation = checkpoint.getCheckpointLocation();
-      TransactionInfo checkpointTxnInfo = HAUtils
-          .getTrxnInfoFromCheckpoint(OzoneConfiguration.of(conf),
-              checkpointLocation, new SCMDBDefinition());
-
-      LOG.info("Installing checkpoint with SCMTransactionInfo {}",
-          checkpointTxnInfo);
+      final TransactionInfo checkpointTxnInfo = 
getTransactionInfoFromCheckpoint(checkpointLocation);
+      LOG.info("{}: Verify checkpoint {} from leader {}", scm.getScmId(), 
checkpointTxnInfo, leaderId);
 
       TermIndex termIndex =
           getRatisServer().getSCMStateMachine().getLastAppliedTermIndex();
@@ -281,12 +284,9 @@ public class SCMHAManagerImpl implements SCMHAManager {
       throws Exception {
 
     Path checkpointLocation = dbCheckpoint.getCheckpointLocation();
-    TransactionInfo checkpointTrxnInfo = HAUtils
-        .getTrxnInfoFromCheckpoint(OzoneConfiguration.of(conf),
-            checkpointLocation, new SCMDBDefinition());
+    final TransactionInfo checkpointTrxnInfo = 
getTransactionInfoFromCheckpoint(checkpointLocation);
 
-    LOG.info("Installing checkpoint with SCMTransactionInfo {}",
-        checkpointTrxnInfo);
+    LOG.info("{}: Install checkpoint {}", scm.getScmId(), checkpointTrxnInfo);
 
     return installCheckpoint(checkpointLocation, checkpointTrxnInfo);
   }
@@ -457,7 +457,7 @@ public class SCMHAManagerImpl implements SCMHAManager {
 
    // TODO: Fix the metrics ??
     final SCMMetadataStore metadataStore = scm.getScmMetadataStore();
-    metadataStore.start(OzoneConfiguration.of(conf));
+    metadataStore.start(ozoneConf);
     scm.getSequenceIdGen().reinitialize(metadataStore.getSequenceIdTable());
     scm.getPipelineManager().reinitialize(metadataStore.getPipelineTable());
     scm.getContainerManager().reinitialize(metadataStore.getContainerTable());
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
index 4a280d2103..575d436010 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMDBDefinition.java
@@ -41,14 +41,6 @@ import org.apache.hadoop.hdds.utils.db.StringCodec;
  * Class defines the structure and types of the scm.db.
  */
 public class SCMDBDefinition extends DBDefinition.WithMap {
-  public SCMDBDefinition() {
-    this(COLUMN_FAMILIES);
-  }
-
-  protected SCMDBDefinition(Map<String, DBColumnFamilyDefinition<?, ?>> map) {
-    super(map);
-  }
-
   public static final DBColumnFamilyDefinition<Long, DeletedBlocksTransaction>
       DELETED_BLOCKS =
       new DBColumnFamilyDefinition<>(
@@ -156,6 +148,16 @@ public class SCMDBDefinition extends DBDefinition.WithMap {
           VALID_CERTS,
           VALID_SCM_CERTS);
 
+  private static final SCMDBDefinition INSTANCE = new 
SCMDBDefinition(COLUMN_FAMILIES);
+
+  public static SCMDBDefinition get() {
+    return INSTANCE;
+  }
+
+  protected SCMDBDefinition(Map<String, DBColumnFamilyDefinition<?, ?>> map) {
+    super(map);
+  }
+
   @Override
   public String getName() {
     return "scm.db";
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMMetadataStoreImpl.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMMetadataStoreImpl.java
index ec63076b4a..6aa993f607 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMMetadataStoreImpl.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/metadata/SCMMetadataStoreImpl.java
@@ -104,7 +104,7 @@ public class SCMMetadataStoreImpl implements 
SCMMetadataStore {
   public void start(OzoneConfiguration config)
       throws IOException {
     if (this.store == null) {
-      SCMDBDefinition scmdbDefinition = new SCMDBDefinition();
+      final SCMDBDefinition scmdbDefinition = SCMDBDefinition.get();
       File metaDir = HAUtils.getMetaDir(scmdbDefinition, configuration);
       // Check if there is a DB Inconsistent Marker in the metaDir. This
       // marker indicates that the DB is in an inconsistent state and hence
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java
index 83791c3257..5e951a6d68 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java
@@ -77,8 +77,7 @@ public class TestContainerManagerImpl {
   @BeforeEach
   void setUp() throws Exception {
     final OzoneConfiguration conf = SCMTestUtils.getConf(testDir);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
     nodeManager = new MockNodeManager(true, 10);
     sequenceIdGen = new SequenceIdGenerator(
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerReportHandler.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerReportHandler.java
index 7c3666ad61..0a863bc816 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerReportHandler.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerReportHandler.java
@@ -98,8 +98,7 @@ public class TestContainerReportHandler {
     final OzoneConfiguration conf = SCMTestUtils.getConf(testDir);
     nodeManager = new MockNodeManager(true, 10);
     containerManager = mock(ContainerManager.class);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
     pipelineManager =
         new MockPipelineManager(dbStore, scmhaManager, nodeManager);
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerStateManager.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerStateManager.java
index a7043d0264..157a65c701 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerStateManager.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerStateManager.java
@@ -75,8 +75,7 @@ public class TestContainerStateManager {
     OzoneConfiguration conf = new OzoneConfiguration();
     scmhaManager = SCMHAManagerStub.getInstance(true);
     conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, testDir.getAbsolutePath());
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     pipelineManager = mock(PipelineManager.class);
     pipeline = Pipeline.newBuilder().setState(Pipeline.PipelineState.CLOSED)
             .setId(PipelineID.randomId())
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestIncrementalContainerReportHandler.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestIncrementalContainerReportHandler.java
index 4cf9eccc4f..679c0f368f 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestIncrementalContainerReportHandler.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestIncrementalContainerReportHandler.java
@@ -126,8 +126,7 @@ public class TestIncrementalContainerReportHandler {
         new SCMNodeManager(conf, storageConfig, eventQueue, clusterMap,
             scmContext, versionManager);
     scmhaManager = SCMHAManagerStub.getInstance(true);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
 
     pipelineManager =
         new MockPipelineManager(dbStore, scmhaManager, nodeManager);
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestUnknownContainerReport.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestUnknownContainerReport.java
index 9ea4ea45b5..a573573a67 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestUnknownContainerReport.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestUnknownContainerReport.java
@@ -78,8 +78,7 @@ public class TestUnknownContainerReport {
     final OzoneConfiguration conf = SCMTestUtils.getConf(testDir);
     this.nodeManager = new MockNodeManager(true, 10);
     this.containerManager = mock(ContainerManager.class);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
     pipelineManager =
         new MockPipelineManager(dbStore, scmhaManager, nodeManager);
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestLegacyReplicationManager.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestLegacyReplicationManager.java
index 8aac64de70..7f36279ba0 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestLegacyReplicationManager.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestLegacyReplicationManager.java
@@ -179,8 +179,7 @@ public class TestLegacyReplicationManager {
     nodeManager = new SimpleMockNodeManager();
     eventQueue = new EventQueue();
     SCMHAManager scmhaManager = SCMHAManagerStub.getInstance(true);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     PipelineManager pipelineManager = mock(PipelineManager.class);
     when(pipelineManager.containsPipeline(any(PipelineID.class)))
         .thenReturn(true);
@@ -277,8 +276,7 @@ public class TestLegacyReplicationManager {
 
     SCMHAManager scmHAManager = SCMHAManagerStub
         .getInstance(true, new SCMDBTransactionBufferImpl());
-    dbStore = DBStoreBuilder.createDBStore(
-      config, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(config, SCMDBDefinition.get());
 
     LegacyReplicationManager legacyRM = new LegacyReplicationManager(
         config, containerManager, ratisContainerPlacementPolicy, eventQueue,
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestStatefulServiceStateManagerImpl.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestStatefulServiceStateManagerImpl.java
index 92509d2268..4e69f46b6e 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestStatefulServiceStateManagerImpl.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/TestStatefulServiceStateManagerImpl.java
@@ -49,7 +49,7 @@ public class TestStatefulServiceStateManagerImpl {
   void setup(@TempDir File testDir) throws IOException {
     conf = SCMTestUtils.getConf(testDir);
     conf.setBoolean(ScmConfigKeys.OZONE_SCM_HA_ENABLE_KEY, true);
-    dbStore = DBStoreBuilder.createDBStore(conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     statefulServiceConfig =
         SCMDBDefinition.STATEFUL_SERVICE_CONFIG.getTable(dbStore);
     scmhaManager = SCMHAManagerStub.getInstance(true, dbStore);
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java
index f3a303cad7..0862c46e83 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java
@@ -100,8 +100,7 @@ public class TestContainerPlacement {
   public void setUp() throws Exception {
     conf = getConf();
     conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, testDir.getAbsolutePath());
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
     sequenceIdGen = new SequenceIdGenerator(
         conf, scmhaManager, SCMDBDefinition.SEQUENCE_ID.getTable(dbStore));
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
index 385e1c6531..9908210e07 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineDatanodesIntersection.java
@@ -66,8 +66,7 @@ public class TestPipelineDatanodesIntersection {
   public void initialize() throws IOException {
     conf = SCMTestUtils.getConf(testDir);
     end = false;
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
   }
 
   @AfterEach
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
index e9407d6a94..dd994f35b6 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java
@@ -136,7 +136,7 @@ public class TestPipelineManagerImpl {
     // placement policy (Rack Scatter), so just use the random one.
     conf.set(ScmConfigKeys.OZONE_SCM_CONTAINER_PLACEMENT_EC_IMPL_KEY,
         SCMContainerPlacementRandom.class.getName());
-    dbStore = DBStoreBuilder.createDBStore(conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     nodeManager = new MockNodeManager(true, 20);
     maxPipelineCount = nodeManager.getNodeCount(
         HddsProtos.NodeOperationalState.IN_SERVICE,
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementFactory.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementFactory.java
index 96f62432b3..82fcc01d7e 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementFactory.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementFactory.java
@@ -135,8 +135,7 @@ public class TestPipelinePlacementFactory {
           .thenReturn(dn);
     }
 
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
 
     stateManager = PipelineStateManagerImpl.newBuilder()
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
index 0f9ec84f03..2a4d2de901 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelinePlacementPolicy.java
@@ -112,8 +112,7 @@ public class TestPipelinePlacementPolicy {
     conf.setStorageSize(OZONE_DATANODE_RATIS_VOLUME_FREE_SPACE_MIN,
         10, StorageUnit.MB);
     nodeManager.setNumPipelinePerDatanode(PIPELINE_LOAD_LIMIT);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
     stateManager = PipelineStateManagerImpl.newBuilder()
         .setPipelineStore(SCMDBDefinition.PIPELINES.getTable(dbStore))
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
index 9feb9e1f0a..4a0baa2dac 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineStateManagerImpl.java
@@ -68,8 +68,7 @@ public class TestPipelineStateManagerImpl {
   @BeforeEach
   public void init() throws Exception {
     final OzoneConfiguration conf = SCMTestUtils.getConf(testDir);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
 
     SCMHAManager scmhaManager = SCMHAManagerStub.getInstance(true);
     NodeManager nodeManager = new MockNodeManager(true, 10);
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
index 5350c0da86..94c0d45276 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestRatisPipelineProvider.java
@@ -93,8 +93,7 @@ public class TestRatisPipelineProvider {
 
   public void init(int maxPipelinePerNode, OzoneConfiguration conf, File dir) 
throws Exception {
     conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, dir.getAbsolutePath());
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     nodeManager = new MockNodeManager(true, 10);
     nodeManager.setNumPipelinePerDatanode(maxPipelinePerNode);
     SCMHAManager scmhaManager = SCMHAManagerStub.getInstance(true);
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
index b69ebedb04..7fb31d2c76 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestSimplePipelineProvider.java
@@ -60,8 +60,7 @@ public class TestSimplePipelineProvider {
   public void init() throws Exception {
     nodeManager = new MockNodeManager(true, 10);
     final OzoneConfiguration conf = SCMTestUtils.getConf(testDir);
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     SCMHAManager scmhaManager = SCMHAManagerStub.getInstance(true);
     stateManager = PipelineStateManagerImpl.newBuilder()
         .setPipelineStore(SCMDBDefinition.PIPELINES.getTable(dbStore))
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
index 4f86450d03..78aab4843c 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
@@ -128,8 +128,7 @@ public class TestWritableECContainerProvider {
 
     containers = new HashMap<>();
     conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, testDir.getAbsolutePath());
-    dbStore = DBStoreBuilder.createDBStore(
-        conf, new SCMDBDefinition());
+    dbStore = DBStoreBuilder.createDBStore(conf, SCMDBDefinition.get());
     scmhaManager = SCMHAManagerStub.getInstance(true);
     pipelineManager =
         new MockPipelineManager(dbStore, scmhaManager, nodeManager);
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshot.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshot.java
index 400c4868a9..e90c576e8d 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshot.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshot.java
@@ -128,15 +128,14 @@ public class TestSCMInstallSnapshot {
   public void testInstallCheckPoint() throws Exception {
     DBCheckpoint checkpoint = downloadSnapshot();
     StorageContainerManager scm = cluster.getStorageContainerManager();
-    DBStore db = HAUtils
-        .loadDB(conf, checkpoint.getCheckpointLocation().getParent().toFile(),
-            checkpoint.getCheckpointLocation().getFileName().toString(),
-            new SCMDBDefinition());
+    final Path location = checkpoint.getCheckpointLocation();
+    final DBStore db = HAUtils.loadDB(conf, location.getParent().toFile(),
+        location.getFileName().toString(), SCMDBDefinition.get());
     // Hack the transaction index in the checkpoint so as to ensure the
     // checkpointed transaction index is higher than when it was downloaded
     // from.
     assertNotNull(db);
-    HAUtils.getTransactionInfoTable(db, new SCMDBDefinition())
+    HAUtils.getTransactionInfoTable(db, SCMDBDefinition.get())
         .put(OzoneConsts.TRANSACTION_INFO_KEY, TransactionInfo.valueOf(10, 
100));
     db.close();
     ContainerID cid =
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshotWithHA.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshotWithHA.java
index 1049273614..e55355525a 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshotWithHA.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestSCMInstallSnapshotWithHA.java
@@ -224,9 +224,8 @@ public class TestSCMInstallSnapshotWithHA {
     DBCheckpoint leaderDbCheckpoint = 
leaderSCM.getScmMetadataStore().getStore()
         .getCheckpoint(false);
     Path leaderCheckpointLocation = leaderDbCheckpoint.getCheckpointLocation();
-    TransactionInfo leaderCheckpointTrxnInfo = HAUtils
-        .getTrxnInfoFromCheckpoint(conf, leaderCheckpointLocation,
-            new SCMDBDefinition());
+    final TransactionInfo leaderCheckpointTrxnInfo = 
HAUtils.getTrxnInfoFromCheckpoint(
+        conf, leaderCheckpointLocation, SCMDBDefinition.get());
 
     assertNotNull(leaderCheckpointLocation);
     // Take a backup of the current DB
diff --git 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconSCMDBDefinition.java
 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconSCMDBDefinition.java
index fa6d6f925d..38989b730c 100644
--- 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconSCMDBDefinition.java
+++ 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconSCMDBDefinition.java
@@ -50,7 +50,7 @@ public class ReconSCMDBDefinition extends SCMDBDefinition {
 
   private static final Map<String, DBColumnFamilyDefinition<?, ?>>
       COLUMN_FAMILIES = DBColumnFamilyDefinition.newUnmodifiableMap(
-          new SCMDBDefinition().getMap(), NODES);
+          SCMDBDefinition.get().getMap(), NODES);
 
   public ReconSCMDBDefinition() {
     super(COLUMN_FAMILIES);
diff --git 
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/DBDefinitionFactory.java
 
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/DBDefinitionFactory.java
index 98cb69d60a..2f9c39db27 100644
--- 
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/DBDefinitionFactory.java
+++ 
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/debug/DBDefinitionFactory.java
@@ -56,7 +56,7 @@ public final class DBDefinitionFactory {
 
   static {
     final Map<String, DBDefinition> map = new HashMap<>();
-    Arrays.asList(new SCMDBDefinition(), OMDBDefinition.get(), new 
ReconSCMDBDefinition())
+    Arrays.asList(SCMDBDefinition.get(), OMDBDefinition.get(), new 
ReconSCMDBDefinition())
         .forEach(dbDefinition -> map.put(dbDefinition.getName(), 
dbDefinition));
     DB_MAP = Collections.unmodifiableMap(map);
   }
diff --git 
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/containergenerator/GeneratorScm.java
 
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/containergenerator/GeneratorScm.java
index 66656d315d..a15caab7d6 100644
--- 
a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/containergenerator/GeneratorScm.java
+++ 
b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/containergenerator/GeneratorScm.java
@@ -59,7 +59,7 @@ public class GeneratorScm extends BaseGenerator {
 
     ConfigurationSource config = createOzoneConfiguration();
 
-    scmDb = DBStoreBuilder.createDBStore(config, new SCMDBDefinition());
+    scmDb = DBStoreBuilder.createDBStore(config, SCMDBDefinition.get());
 
     containerStore = CONTAINERS.getTable(scmDb);
 
diff --git 
a/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/debug/TestDBDefinitionFactory.java
 
b/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/debug/TestDBDefinitionFactory.java
index 9152e357ce..b39865ce9d 100644
--- 
a/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/debug/TestDBDefinitionFactory.java
+++ 
b/hadoop-ozone/tools/src/test/java/org/apache/hadoop/ozone/debug/TestDBDefinitionFactory.java
@@ -47,8 +47,7 @@ public class TestDBDefinitionFactory {
     DBDefinition definition = 
DBDefinitionFactory.getDefinition(OMDBDefinition.get().getName());
     assertInstanceOf(OMDBDefinition.class, definition);
 
-    definition = DBDefinitionFactory.getDefinition(
-        new SCMDBDefinition().getName());
+    definition = 
DBDefinitionFactory.getDefinition(SCMDBDefinition.get().getName());
     assertInstanceOf(SCMDBDefinition.class, definition);
 
     definition = DBDefinitionFactory.getDefinition(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to