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 9b66267de4 HDDS-11589. ReconSCMDBDefinition should be singleton.
(#7323)
9b66267de4 is described below
commit 9b66267de448c0f60c3272ad80b25de8a1401dd7
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Thu Oct 17 01:16:17 2024 -0700
HDDS-11589. ReconSCMDBDefinition should be singleton. (#7323)
---
.../hadoop/ozone/recon/scm/ReconSCMDBDefinition.java | 18 ++++++++++--------
.../recon/scm/ReconStorageContainerManagerFacade.java | 6 ++----
.../recon/scm/AbstractReconContainerManagerTest.java | 2 +-
.../hadoop/ozone/recon/scm/TestReconNodeManager.java | 2 +-
.../ozone/recon/scm/TestReconPipelineManager.java | 2 +-
.../apache/hadoop/ozone/debug/DBDefinitionFactory.java | 2 +-
.../hadoop/ozone/debug/TestDBDefinitionFactory.java | 3 +--
7 files changed, 17 insertions(+), 18 deletions(-)
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 e8a6949f21..4970d5da91 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
@@ -32,25 +32,27 @@ import org.apache.hadoop.ozone.recon.ReconServerConfigKeys;
/**
* Recon SCM db file for ozone.
*/
-public class ReconSCMDBDefinition extends SCMDBDefinition {
+public final class ReconSCMDBDefinition extends SCMDBDefinition {
private static final Codec<UUID> UUID_CODEC = new DelegatedCodec<>(
StringCodec.get(), UUID::fromString, UUID::toString,
UUID.class, DelegatedCodec.CopyType.SHALLOW);
public static final String RECON_SCM_DB_NAME = "recon-scm.db";
- public static final DBColumnFamilyDefinition<UUID, DatanodeDetails>
- NODES =
- new DBColumnFamilyDefinition<UUID, DatanodeDetails>(
- "nodes",
- UUID_CODEC,
- DatanodeDetails.getCodec());
+ public static final DBColumnFamilyDefinition<UUID, DatanodeDetails> NODES
+ = new DBColumnFamilyDefinition<>("nodes", UUID_CODEC,
DatanodeDetails.getCodec());
private static final Map<String, DBColumnFamilyDefinition<?, ?>>
COLUMN_FAMILIES = DBColumnFamilyDefinition.newUnmodifiableMap(
SCMDBDefinition.get().getMap(), NODES);
- public ReconSCMDBDefinition() {
+ private static final ReconSCMDBDefinition INSTANCE = new
ReconSCMDBDefinition();
+
+ public static ReconSCMDBDefinition get() {
+ return INSTANCE;
+ }
+
+ private ReconSCMDBDefinition() {
super(COLUMN_FAMILIES);
}
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconStorageContainerManagerFacade.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconStorageContainerManagerFacade.java
index c773187c4b..ea1a344016 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconStorageContainerManagerFacade.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/scm/ReconStorageContainerManagerFacade.java
@@ -218,8 +218,7 @@ public class ReconStorageContainerManagerFacade
this.scmStorageConfig = new ReconStorageConfig(conf, reconUtils);
this.clusterMap = new NetworkTopologyImpl(conf);
- this.dbStore = DBStoreBuilder
- .createDBStore(ozoneConfiguration, new ReconSCMDBDefinition());
+ this.dbStore = DBStoreBuilder.createDBStore(ozoneConfiguration,
ReconSCMDBDefinition.get());
this.scmLayoutVersionManager =
new HDDSLayoutVersionManager(scmStorageConfig.getLayoutVersion());
@@ -627,8 +626,7 @@ public class ReconStorageContainerManagerFacade
private void initializeNewRdbStore(File dbFile) throws IOException {
try {
- DBStore newStore = createDBAndAddSCMTablesAndCodecs(
- dbFile, new ReconSCMDBDefinition());
+ final DBStore newStore = createDBAndAddSCMTablesAndCodecs(dbFile,
ReconSCMDBDefinition.get());
Table<UUID, DatanodeDetails> nodeTable =
ReconSCMDBDefinition.NODES.getTable(dbStore);
Table<UUID, DatanodeDetails> newNodeTable =
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/AbstractReconContainerManagerTest.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/AbstractReconContainerManagerTest.java
index eb62b7d3ec..939279fc17 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/AbstractReconContainerManagerTest.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/AbstractReconContainerManagerTest.java
@@ -88,7 +88,7 @@ public class AbstractReconContainerManagerTest {
conf = new OzoneConfiguration();
conf.set(OZONE_METADATA_DIRS, tempDir.getAbsolutePath());
conf.set(OZONE_SCM_NAMES, "localhost");
- store = DBStoreBuilder.createDBStore(conf, new ReconSCMDBDefinition());
+ store = DBStoreBuilder.createDBStore(conf, ReconSCMDBDefinition.get());
scmhaManager = SCMHAManagerStub.getInstance(
true, new SCMHADBTransactionBufferStub(store));
sequenceIdGen = new SequenceIdGenerator(
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconNodeManager.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconNodeManager.java
index 02207f9c62..f17eb78d89 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconNodeManager.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconNodeManager.java
@@ -86,7 +86,7 @@ public class TestReconNodeManager {
reconStorageConfig = new ReconStorageConfig(conf, reconUtils);
versionManager = new HDDSLayoutVersionManager(
reconStorageConfig.getLayoutVersion());
- store = DBStoreBuilder.createDBStore(conf, new ReconSCMDBDefinition());
+ store = DBStoreBuilder.createDBStore(conf, ReconSCMDBDefinition.get());
reconContext = new ReconContext(conf, reconUtils);
}
diff --git
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconPipelineManager.java
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconPipelineManager.java
index d723ee75e8..302772e40f 100644
---
a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconPipelineManager.java
+++
b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/scm/TestReconPipelineManager.java
@@ -94,7 +94,7 @@ public class TestReconPipelineManager {
temporaryFolder.toAbsolutePath().toString());
conf.set(OZONE_SCM_NAMES, "localhost");
scmStorageConfig = new ReconStorageConfig(conf, new ReconUtils());
- store = DBStoreBuilder.createDBStore(conf, new ReconSCMDBDefinition());
+ store = DBStoreBuilder.createDBStore(conf, ReconSCMDBDefinition.get());
scmhaManager = SCMHAManagerStub.getInstance(
true, new SCMHADBTransactionBufferStub(store));
scmContext = SCMContext.emptyContext();
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 2f9c39db27..87482cb549 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(SCMDBDefinition.get(), OMDBDefinition.get(), new
ReconSCMDBDefinition())
+ Arrays.asList(SCMDBDefinition.get(), OMDBDefinition.get(),
ReconSCMDBDefinition.get())
.forEach(dbDefinition -> map.put(dbDefinition.getName(),
dbDefinition));
DB_MAP = Collections.unmodifiableMap(map);
}
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 b39865ce9d..5f0be7859d 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
@@ -50,8 +50,7 @@ public class TestDBDefinitionFactory {
definition =
DBDefinitionFactory.getDefinition(SCMDBDefinition.get().getName());
assertInstanceOf(SCMDBDefinition.class, definition);
- definition = DBDefinitionFactory.getDefinition(
- new ReconSCMDBDefinition().getName());
+ definition =
DBDefinitionFactory.getDefinition(ReconSCMDBDefinition.get().getName());
assertInstanceOf(ReconSCMDBDefinition.class, definition);
definition = DBDefinitionFactory.getDefinition(
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]