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 bd4b56cd8c13..ec95ab66bf18 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 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 void download(CopyDBCheckpointRequestProto request, 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 fc3c1548ba14..5d0ea444ef8a 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 SCMHAManagerImpl(final ConfigurationSource conf, 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 void start() throws IOException { // 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 List getSecretKeysFromLeader(String leaderID) } } + 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 TermIndex installCheckpoint(DBCheckpoint dbCheckpoint) 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 void startServices() throws IOException { // 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 4a280d2103ad..575d4360107b 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 @@ * Class defines the structure and types of the scm.db. */ public class SCMDBDefinition extends DBDefinition.WithMap { - public SCMDBDefinition() { - this(COLUMN_FAMILIES); - } - - protected SCMDBDefinition(Map> map) { - super(map); - } - public static final DBColumnFamilyDefinition DELETED_BLOCKS = new DBColumnFamilyDefinition<>( @@ -156,6 +148,16 @@ protected SCMDBDefinition(Map> map) { VALID_CERTS, VALID_SCM_CERTS); + private static final SCMDBDefinition INSTANCE = new SCMDBDefinition(COLUMN_FAMILIES); + + public static SCMDBDefinition get() { + return INSTANCE; + } + + protected SCMDBDefinition(Map> 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 ec63076b4a62..6aa993f60771 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 SCMMetadataStoreImpl(OzoneConfiguration config) 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 83791c3257d8..5e951a6d6809 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 7c3666ad6179..0a863bc8165a 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 @@ void setup() throws IOException, InvalidStateTransitionException { 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 a7043d026427..157a65c70148 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 void init() throws IOException, TimeoutException { 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 dbcccce598c9..ca29dbf03a95 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 void setup() throws IOException, InvalidStateTransitionException, 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 9ea4ea45b563..a573573a67b9 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 void setup() throws IOException { 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 8aac64de702b..7f36279ba08f 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 @@ void setup(@TempDir File testDir) throws IOException, InterruptedException, 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 @@ private void createReplicationManager(ReplicationManagerConfiguration rmConf, 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 92509d22685b..4e69f46b6e93 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 f3a303cad738..0862c46e8388 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 385e1c653168..9908210e0747 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 e9407d6a9419..dd994f35b64d 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 @@ void init(@TempDir File testDir, @TempDir File dbDir) throws Exception { // 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 96f62432b315..82fcc01d7eeb 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 @@ private void setupRacks(int datanodeCount, int nodesPerRack, .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 0f9ec84f0332..2a4d2de9010e 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 void init() throws Exception { 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 9feb9e1f0a93..4a0baa2daca9 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 5350c0da86e8..94c0d45276c5 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 void init(int maxPipelinePerNode, OzoneConfiguration conf) 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 b69ebedb04d8..7fb31d2c7689 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 4f86450d03e7..78aab4843cf4 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 @@ void setup(@TempDir File testDir) throws IOException { 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 400c4868a99e..e90c576e8dd4 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 @@ private DBCheckpoint downloadSnapshot() throws Exception { 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 10492736144b..e55355525a6d 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 void testInstallCorruptedCheckpointFailure() throws Exception { 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 1ea2f7b13126..306f2439bf22 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> 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 98cb69d60ac7..2f9c39db2758 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 @@ private DBDefinitionFactory() { static { final Map 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 66656d315d8f..a15caab7d6bd 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 Void call() throws Exception { 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 9152e357cef8..b39865ce9d59 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 void testGetDefinition() { 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(