This is an automated email from the ASF dual-hosted git repository.
peterxcli 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 351a6594a10 HDDS-12953. Directly create DataNodeSafeModeRule in
TestDataNodeSafeModeRule (#8716)
351a6594a10 is described below
commit 351a6594a1083ff5e205ca491bf517737111ec9e
Author: RUEI TING HUNG <[email protected]>
AuthorDate: Mon Jun 30 04:53:42 2025 +0800
HDDS-12953. Directly create DataNodeSafeModeRule in
TestDataNodeSafeModeRule (#8716)
Co-authored-by: Peter Lee <[email protected]>
---
.../scm/safemode/TestDataNodeSafeModeRule.java | 23 ++++++----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestDataNodeSafeModeRule.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestDataNodeSafeModeRule.java
index eab3f1cf2b8..c62293e7648 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestDataNodeSafeModeRule.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestDataNodeSafeModeRule.java
@@ -32,12 +32,7 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.DatanodeDetails;
import org.apache.hadoop.hdds.protocol.MockDatanodeDetails;
-import org.apache.hadoop.hdds.scm.HddsTestUtils;
-import org.apache.hadoop.hdds.scm.container.ContainerInfo;
-import org.apache.hadoop.hdds.scm.container.ContainerManager;
import org.apache.hadoop.hdds.scm.events.SCMEvents;
-import org.apache.hadoop.hdds.scm.ha.SCMContext;
-import org.apache.hadoop.hdds.scm.ha.SCMServiceManager;
import org.apache.hadoop.hdds.scm.node.NodeManager;
import org.apache.hadoop.hdds.scm.node.NodeStatus;
import
org.apache.hadoop.hdds.scm.server.SCMDatanodeProtocolServer.NodeRegistrationContainerReport;
@@ -56,9 +51,8 @@ public class TestDataNodeSafeModeRule {
private Path tempDir;
private DataNodeSafeModeRule rule;
private EventQueue eventQueue;
- private SCMServiceManager serviceManager;
- private SCMContext scmContext;
private NodeManager nodeManager;
+ private SCMSafeModeManager mockSafeModeManager;
private void setup(int requiredDns) throws Exception {
OzoneConfiguration ozoneConfiguration = new OzoneConfiguration();
@@ -67,20 +61,12 @@ private void setup(int requiredDns) throws Exception {
ozoneConfiguration.setInt(
HddsConfigKeys.HDDS_SCM_SAFEMODE_MIN_DATANODE, requiredDns);
- List<ContainerInfo> containers =
- new ArrayList<>(HddsTestUtils.getContainerInfo(1));
nodeManager = mock(NodeManager.class);
- ContainerManager containerManager = mock(ContainerManager.class);
- when(containerManager.getContainers()).thenReturn(containers);
eventQueue = new EventQueue();
- serviceManager = new SCMServiceManager();
- scmContext = SCMContext.emptyContext();
- SCMSafeModeManager scmSafeModeManager = new
SCMSafeModeManager(ozoneConfiguration,
- nodeManager, null, containerManager, serviceManager, eventQueue,
scmContext);
- scmSafeModeManager.start();
+ mockSafeModeManager = mock(SCMSafeModeManager.class);
- rule =
SafeModeRuleFactory.getInstance().getSafeModeRule(DataNodeSafeModeRule.class);
+ rule = new DataNodeSafeModeRule(eventQueue, ozoneConfiguration,
nodeManager, mockSafeModeManager);
assertNotNull(rule);
rule.setValidateBasedOnReportProcessing(true);
@@ -90,6 +76,7 @@ private void setup(int requiredDns) throws Exception {
public void testDataNodeSafeModeRuleWithNoNodes() throws Exception {
int requiredDns = 1;
setup(requiredDns);
+ when(mockSafeModeManager.getInSafeMode()).thenReturn(true);
GenericTestUtils.LogCapturer logCapturer =
GenericTestUtils.LogCapturer.captureLogs(
@@ -113,6 +100,7 @@ public void testDataNodeSafeModeRuleWithNoNodes() throws
Exception {
public void testDataNodeSafeModeRuleWithMultipleNodes() throws Exception {
int requiredDns = 3;
setup(requiredDns);
+ when(mockSafeModeManager.getInSafeMode()).thenReturn(true);
GenericTestUtils.LogCapturer logCapturer =
GenericTestUtils.LogCapturer.captureLogs(
@@ -149,6 +137,7 @@ public void testDataNodeSafeModeRuleWithMultipleNodes()
throws Exception {
public void testDataNodeSafeModeRuleWithNodeManager() throws Exception {
int requiredDns = 2;
setup(requiredDns);
+ when(mockSafeModeManager.getInSafeMode()).thenReturn(true);
rule.setValidateBasedOnReportProcessing(false);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]