This is an automated email from the ASF dual-hosted git repository.
erose pushed a commit to branch HDDS-14496-zdu
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/HDDS-14496-zdu by this push:
new d04a5e57e06 HDDS-14729. Address followup items in HDDS-14646 (#9838)
d04a5e57e06 is described below
commit d04a5e57e0683d8a41d2f5a83f7de3ada8f615b1
Author: Stephen O'Donnell <[email protected]>
AuthorDate: Mon Mar 2 15:04:27 2026 +0000
HDDS-14729. Address followup items in HDDS-14646 (#9838)
---
.../hdds/scm/server/StorageContainerManager.java | 4 +-
.../scm/server/upgrade/FinalizationManager.java | 2 -
.../server/upgrade/FinalizationManagerImpl.java | 22 +----------
.../upgrade/SCMUpgradeFinalizationContext.java | 43 ----------------------
.../hdds/scm/upgrade/TestScmFinalization.java | 28 +-------------
.../hadoop/hdds/upgrade/TestHddsUpgradeUtils.java | 22 ++---------
6 files changed, 8 insertions(+), 113 deletions(-)
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
index 32673e87279..373f39c78e4 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
@@ -715,7 +715,6 @@ private void initializeSystemManagers(OzoneConfiguration
conf,
finalizationExecutor = new DefaultUpgradeFinalizationExecutor<>();
}
finalizationManager = new FinalizationManagerImpl.Builder()
- .setConfiguration(conf)
.setLayoutVersionManager(scmLayoutVersionManager)
.setStorage(scmStorageConfig)
.setHAManager(scmHAManager)
@@ -788,8 +787,7 @@ private void initializeSystemManagers(OzoneConfiguration
conf,
);
}
- finalizationManager.buildUpgradeContext(scmNodeManager, pipelineManager,
- scmContext);
+ finalizationManager.buildUpgradeContext(scmNodeManager, scmContext);
ReplicationManager.ReplicationManagerConfiguration rmConf =
conf.getObject(ReplicationManager.ReplicationManagerConfiguration.class);
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManager.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManager.java
index 421837971bb..27e26541eca 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManager.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManager.java
@@ -21,7 +21,6 @@
import java.io.IOException;
import org.apache.hadoop.hdds.scm.ha.SCMContext;
import org.apache.hadoop.hdds.scm.node.NodeManager;
-import org.apache.hadoop.hdds.scm.pipeline.PipelineManager;
import org.apache.hadoop.hdds.upgrade.HDDSLayoutVersionManager;
import org.apache.hadoop.hdds.utils.db.Table;
import org.apache.hadoop.ozone.upgrade.BasicUpgradeFinalizer;
@@ -46,7 +45,6 @@ UpgradeFinalization.StatusAndMessages
queryUpgradeFinalizationProgress(
FinalizationCheckpoint getCheckpoint();
void buildUpgradeContext(NodeManager nodeManager,
- PipelineManager pipelineManager,
SCMContext scmContext);
void reinitialize(Table<String, String> finalizationStore) throws
IOException;
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManagerImpl.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManagerImpl.java
index be65b933a1b..4de0abd7a09 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManagerImpl.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/FinalizationManagerImpl.java
@@ -24,11 +24,9 @@
import java.util.Objects;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.scm.ha.SCMContext;
import org.apache.hadoop.hdds.scm.ha.SCMHAManager;
import org.apache.hadoop.hdds.scm.node.NodeManager;
-import org.apache.hadoop.hdds.scm.pipeline.PipelineManager;
import org.apache.hadoop.hdds.scm.server.SCMStorageConfig;
import org.apache.hadoop.hdds.upgrade.HDDSLayoutVersionManager;
import org.apache.hadoop.hdds.utils.db.Table;
@@ -50,8 +48,6 @@ public class FinalizationManagerImpl implements
FinalizationManager {
private SCMUpgradeFinalizer upgradeFinalizer;
private SCMUpgradeFinalizationContext context;
private SCMStorageConfig storage;
- private OzoneConfiguration conf;
- private HDDSLayoutVersionManager versionManager;
private final FinalizationStateManager finalizationStateManager;
private ThreadFactory threadFactory;
@@ -78,23 +74,16 @@ private FinalizationManagerImpl(Builder builder) throws
IOException {
private void initCommonFields(Builder builder) {
this.storage = builder.storage;
- this.versionManager = builder.versionManager;
- this.conf = builder.conf;
- this.upgradeFinalizer = new SCMUpgradeFinalizer(this.versionManager,
- builder.executor);
+ this.upgradeFinalizer = new SCMUpgradeFinalizer(builder.versionManager,
builder.executor);
}
@Override
public void buildUpgradeContext(NodeManager nodeManager,
- PipelineManager pipelineManager,
- SCMContext scmContext) {
+ SCMContext scmContext) {
this.context = new SCMUpgradeFinalizationContext.Builder()
.setStorage(this.storage)
.setFinalizationStateManager(finalizationStateManager)
- .setConfiguration(conf)
.setNodeManager(nodeManager)
- .setPipelineManager(pipelineManager)
- .setLayoutVersionManager(versionManager)
.setSCMContext(scmContext)
.build();
@@ -172,7 +161,6 @@ public void onLeaderReady() {
* Builds a {@link FinalizationManagerImpl}.
*/
public static class Builder {
- private OzoneConfiguration conf;
private HDDSLayoutVersionManager versionManager;
private SCMStorageConfig storage;
private SCMHAManager scmHAManager;
@@ -183,11 +171,6 @@ public Builder() {
executor = new DefaultUpgradeFinalizationExecutor<>();
}
- public Builder setConfiguration(OzoneConfiguration configuration) {
- this.conf = configuration;
- return this;
- }
-
public Builder setLayoutVersionManager(
HDDSLayoutVersionManager layoutVersionManager) {
this.versionManager = layoutVersionManager;
@@ -217,7 +200,6 @@ public Builder setFinalizationExecutor(
}
public FinalizationManagerImpl build() throws IOException {
- Objects.requireNonNull(conf, "conf == null");
Objects.requireNonNull(versionManager, "versionManager == null");
Objects.requireNonNull(storage, "storage == null");
Objects.requireNonNull(scmHAManager, "scmHAManager == null");
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/SCMUpgradeFinalizationContext.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/SCMUpgradeFinalizationContext.java
index 312f71cb74c..5d5b021f6f0 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/SCMUpgradeFinalizationContext.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/SCMUpgradeFinalizationContext.java
@@ -18,33 +18,24 @@
package org.apache.hadoop.hdds.scm.server.upgrade;
import java.util.Objects;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.scm.ha.SCMContext;
import org.apache.hadoop.hdds.scm.node.NodeManager;
-import org.apache.hadoop.hdds.scm.pipeline.PipelineManager;
import org.apache.hadoop.hdds.scm.server.SCMStorageConfig;
-import org.apache.hadoop.hdds.upgrade.HDDSLayoutVersionManager;
/**
* Provided to methods in the {@link SCMUpgradeFinalizer} to supply objects
* needed to operate.
*/
public final class SCMUpgradeFinalizationContext {
- private final PipelineManager pipelineManager;
private final NodeManager nodeManager;
private final FinalizationStateManager finalizationStateManager;
private final SCMStorageConfig storage;
- private final HDDSLayoutVersionManager versionManager;
- private final OzoneConfiguration conf;
private final SCMContext scmContext;
private SCMUpgradeFinalizationContext(Builder builder) {
- pipelineManager = builder.pipelineManager;
nodeManager = builder.nodeManager;
finalizationStateManager = builder.finalizationStateManager;
storage = builder.storage;
- versionManager = builder.versionManager;
- conf = builder.conf;
scmContext = builder.scmContext;
}
@@ -52,22 +43,10 @@ public NodeManager getNodeManager() {
return nodeManager;
}
- public PipelineManager getPipelineManager() {
- return pipelineManager;
- }
-
public FinalizationStateManager getFinalizationStateManager() {
return finalizationStateManager;
}
- public OzoneConfiguration getConfiguration() {
- return conf;
- }
-
- public HDDSLayoutVersionManager getLayoutVersionManager() {
- return versionManager;
- }
-
public SCMContext getSCMContext() {
return scmContext;
}
@@ -80,12 +59,9 @@ public SCMStorageConfig getStorage() {
* Builds an {@link SCMUpgradeFinalizationContext}.
*/
public static final class Builder {
- private PipelineManager pipelineManager;
private NodeManager nodeManager;
private FinalizationStateManager finalizationStateManager;
private SCMStorageConfig storage;
- private HDDSLayoutVersionManager versionManager;
- private OzoneConfiguration conf;
private SCMContext scmContext;
public Builder() {
@@ -96,11 +72,6 @@ public Builder setSCMContext(SCMContext context) {
return this;
}
- public Builder setPipelineManager(PipelineManager pipelineManager) {
- this.pipelineManager = pipelineManager;
- return this;
- }
-
public Builder setNodeManager(NodeManager nodeManager) {
this.nodeManager = nodeManager;
return this;
@@ -117,24 +88,10 @@ public Builder setStorage(SCMStorageConfig storage) {
return this;
}
- public Builder setLayoutVersionManager(
- HDDSLayoutVersionManager layoutVersionManager) {
- this.versionManager = layoutVersionManager;
- return this;
- }
-
- public Builder setConfiguration(OzoneConfiguration configuration) {
- this.conf = configuration;
- return this;
- }
-
public SCMUpgradeFinalizationContext build() {
Objects.requireNonNull(scmContext, "scmContext == null");
- Objects.requireNonNull(pipelineManager, "pipelineManager == null");
Objects.requireNonNull(nodeManager, "nodeManager == null");
Objects.requireNonNull(storage, "storage == null");
- Objects.requireNonNull(versionManager, "versionManager == null");
- Objects.requireNonNull(conf, "conf == null");
Objects.requireNonNull(finalizationStateManager,
"finalizationStateManager == null");
return new SCMUpgradeFinalizationContext(this);
}
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestScmFinalization.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestScmFinalization.java
index c8dce937e41..a6bc7e4acaa 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestScmFinalization.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/upgrade/TestScmFinalization.java
@@ -20,7 +20,6 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.Mockito.any;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.matches;
@@ -29,16 +28,13 @@
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
-import java.util.Arrays;
import java.util.UUID;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.scm.ha.SCMContext;
import org.apache.hadoop.hdds.scm.ha.SCMHAManager;
import org.apache.hadoop.hdds.scm.ha.SCMHAManagerStub;
import org.apache.hadoop.hdds.scm.ha.SCMRatisServer;
import org.apache.hadoop.hdds.scm.metadata.DBTransactionBuffer;
import org.apache.hadoop.hdds.scm.node.NodeManager;
-import org.apache.hadoop.hdds.scm.pipeline.PipelineManager;
import org.apache.hadoop.hdds.scm.server.SCMStorageConfig;
import org.apache.hadoop.hdds.scm.server.upgrade.FinalizationCheckpoint;
import org.apache.hadoop.hdds.scm.server.upgrade.FinalizationManager;
@@ -94,8 +90,6 @@ public void testUpgradeStateToCheckpointMapping() throws
Exception {
HDDSLayoutVersionManager versionManager =
new HDDSLayoutVersionManager(
HDDSLayoutFeature.INITIAL_VERSION.layoutVersion());
- PipelineManager pipelineManager =
- getMockPipelineManager(FinalizationCheckpoint.FINALIZATION_REQUIRED);
// State manager keeps upgrade information in memory as well as writing
// it to disk, so we can mock the classes that handle disk ops for this
// test.
@@ -113,12 +107,9 @@ public void testUpgradeStateToCheckpointMapping() throws
Exception {
stateManager.getFinalizationCheckpoint());
SCMUpgradeFinalizationContext context =
new SCMUpgradeFinalizationContext.Builder()
- .setConfiguration(new OzoneConfiguration())
.setFinalizationStateManager(stateManager)
.setStorage(mock(SCMStorageConfig.class))
- .setLayoutVersionManager(versionManager)
.setSCMContext(scmContext)
- .setPipelineManager(pipelineManager)
.setNodeManager(mock(NodeManager.class))
.build();
stateManager.setUpgradeContext(context);
@@ -201,8 +192,6 @@ public void testResumeFinalizationFromCheckpoint(
SCMStorageConfig storage = mock(SCMStorageConfig.class);
SCMContext scmContext = SCMContext.emptyContext();
scmContext.setFinalizationCheckpoint(initialCheckpoint);
- PipelineManager pipelineManager =
- getMockPipelineManager(initialCheckpoint);
FinalizationStateManager stateManager =
new FinalizationStateManagerTestImpl.Builder()
@@ -214,14 +203,13 @@ public void testResumeFinalizationFromCheckpoint(
FinalizationManager manager = new FinalizationManagerTestImpl.Builder()
.setFinalizationStateManager(stateManager)
- .setConfiguration(new OzoneConfiguration())
.setLayoutVersionManager(versionManager)
.setStorage(storage)
.setHAManager(SCMHAManagerStub.getInstance(true))
.setFinalizationStore(finalizationStore)
.build();
- manager.buildUpgradeContext(nodeManager, pipelineManager, scmContext);
+ manager.buildUpgradeContext(nodeManager, scmContext);
// Execute upgrade finalization, then check that events happened in the
// correct order.
@@ -230,8 +218,7 @@ public void testResumeFinalizationFromCheckpoint(
assertEquals(getStatusFromCheckpoint(initialCheckpoint).status(),
status.status());
- InOrder inOrder = inOrder(buffer, pipelineManager, nodeManager,
- storage);
+ InOrder inOrder = inOrder(buffer, nodeManager, storage);
// Once the initial checkpoint's operations are crossed, this count will
// be increased to 1 to indicate where finalization should have resumed
@@ -325,15 +312,4 @@ private StatusAndMessages getStatusFromCheckpoint(
}
}
- private PipelineManager getMockPipelineManager(
- FinalizationCheckpoint inititalCheckpoint) {
- PipelineManager pipelineManager = mock(PipelineManager.class);
- // After finalization, SCM will wait for at least one pipeline to be
- // created. It does not care about the contents of the pipeline list, so
- // just return something with length >= 1.
- when(pipelineManager.getPipelines(any(),
- any())).thenReturn(Arrays.asList(null, null, null));
-
- return pipelineManager;
- }
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
index d9ea4f57f89..facbe3f44d1 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestHddsUpgradeUtils.java
@@ -23,7 +23,6 @@
import static
org.apache.hadoop.ozone.upgrade.UpgradeFinalization.Status.FINALIZATION_DONE;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@@ -39,7 +38,6 @@
import org.apache.hadoop.hdds.scm.server.StorageContainerManager;
import org.apache.hadoop.hdds.scm.server.upgrade.FinalizationCheckpoint;
import org.apache.hadoop.ozone.HddsDatanodeService;
-import org.apache.hadoop.ozone.container.common.interfaces.Container;
import
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine;
import org.apache.hadoop.ozone.upgrade.UpgradeFinalization;
import org.apache.ozone.test.GenericTestUtils;
@@ -112,10 +110,7 @@ public static void
testPostUpgradeConditionsSCM(StorageContainerManager scm,
// are ready to serve requests even though containers may remain OPEN.
testDataNodesStateOnSCM(scm, numDatanodes, HEALTHY, HEALTHY_READONLY);
- int countContainers = 0;
- for (ContainerInfo ignored : scm.getContainerManager().getContainers()) {
- countContainers++;
- }
+ int countContainers = scm.getContainerManager().getContainers().size();
assertThat(countContainers).isGreaterThanOrEqualTo(numContainers);
}
@@ -134,13 +129,7 @@ public static void testPreUpgradeConditionsDataNodes(
int countContainers = 0;
for (HddsDatanodeService dataNode : datanodes) {
DatanodeStateMachine dsm = dataNode.getDatanodeStateMachine();
- // Also verify that all the existing containers are open.
- for (Container<?> container :
- dsm.getContainer().getController().getContainers()) {
- assertSame(container.getContainerState(),
- ContainerProtos.ContainerDataProto.State.OPEN);
- countContainers++;
- }
+ countContainers += dsm.getContainer().getContainerSet().containerCount();
}
assertThat(countContainers).isGreaterThanOrEqualTo(1);
}
@@ -179,12 +168,7 @@ public static void testPostUpgradeConditionsDataNodes(
assertEquals(dnVersionManager.getSoftwareLayoutVersion(),
dnVersionManager.getMetadataLayoutVersion());
assertThat(dnVersionManager.getMetadataLayoutVersion()).isGreaterThanOrEqualTo(1);
-
- // Verify containers are in acceptable states (OPEN is now allowed).
- for (Container<?> ignored :
- dsm.getContainer().getController().getContainers()) {
- countContainers++;
- }
+ countContainers += dsm.getContainer().getContainerSet().containerCount();
}
assertThat(countContainers).isGreaterThanOrEqualTo(numContainers);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]