You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by so...@apache.org on 2020/10/19 16:19:57 UTC
[hadoop-ozone] branch HDDS-1880-Decom updated: HDDS-4324.
DatanodeAdminMonitor no longers needs maintenance end time to be passed
(#1500)
This is an automated email from the ASF dual-hosted git repository.
sodonnell pushed a commit to branch HDDS-1880-Decom
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
The following commit(s) were added to refs/heads/HDDS-1880-Decom by this push:
new d327b7b HDDS-4324. DatanodeAdminMonitor no longers needs maintenance end time to be passed (#1500)
d327b7b is described below
commit d327b7bc266d389e8520988ae2b1d94c2e573b23
Author: Stephen O'Donnell <st...@gmail.com>
AuthorDate: Mon Oct 19 17:19:40 2020 +0100
HDDS-4324. DatanodeAdminMonitor no longers needs maintenance end time to be passed (#1500)
---
.../hadoop/hdds/scm/node/DatanodeAdminMonitor.java | 2 +-
.../hdds/scm/node/DatanodeAdminMonitorImpl.java | 5 +----
.../hdds/scm/node/NodeDecommissionManager.java | 6 +++---
.../hdds/scm/node/TestDatanodeAdminMonitor.java | 24 +++++++++++-----------
4 files changed, 17 insertions(+), 20 deletions(-)
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitor.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitor.java
index e78eeff..903b816 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitor.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitor.java
@@ -25,7 +25,7 @@ import org.apache.hadoop.hdds.protocol.DatanodeDetails;
*/
public interface DatanodeAdminMonitor extends Runnable {
- void startMonitoring(DatanodeDetails dn, int endInHours);
+ void startMonitoring(DatanodeDetails dn);
void stopMonitoring(DatanodeDetails dn);
}
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
index cf01af5..ee90cba 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
@@ -87,12 +87,9 @@ public class DatanodeAdminMonitorImpl implements DatanodeAdminMonitor {
* queued and added to the workflow after a defined interval.
*
* @param dn The datanode to move into an admin state
- * @param endInHours For nodes going into maintenance, the number of hours
- * from now for maintenance to automatically end. Ignored
- * for decommissioning nodes.
*/
@Override
- public synchronized void startMonitoring(DatanodeDetails dn, int endInHours) {
+ public synchronized void startMonitoring(DatanodeDetails dn) {
cancelledNodes.remove(dn);
pendingNodes.add(dn);
}
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
index d7432bc..cc81473 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
@@ -245,7 +245,7 @@ public class NodeDecommissionManager {
NodeOperationalState opState = getNodeStatus(dn).getOperationalState();
if (opState == NodeOperationalState.DECOMMISSIONING
|| opState == NodeOperationalState.ENTERING_MAINTENANCE) {
- monitor.startMonitoring(dn, 0);
+ monitor.startMonitoring(dn);
}
}
@@ -257,7 +257,7 @@ public class NodeDecommissionManager {
LOG.info("Starting Decommission for node {}", dn);
nodeManager.setNodeOperationalState(
dn, NodeOperationalState.DECOMMISSIONING);
- monitor.startMonitoring(dn, 0);
+ monitor.startMonitoring(dn);
} else if (nodeStatus.isDecommission()) {
LOG.info("Start Decommission called on node {} in state {}. Nothing to "+
"do.", dn, opState);
@@ -339,7 +339,7 @@ public class NodeDecommissionManager {
if (opState == NodeOperationalState.IN_SERVICE) {
nodeManager.setNodeOperationalState(
dn, NodeOperationalState.ENTERING_MAINTENANCE, maintenanceEnd);
- monitor.startMonitoring(dn, endInHours);
+ monitor.startMonitoring(dn);
LOG.info("Starting Maintenance for node {}", dn);
} else if (nodeStatus.isMaintenance()) {
LOG.info("Starting Maintenance called on node {} with state {}. "+
diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeAdminMonitor.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeAdminMonitor.java
index e0f23ae..33fe35f 100644
--- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeAdminMonitor.java
+++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestDatanodeAdminMonitor.java
@@ -85,14 +85,14 @@ public class TestDatanodeAdminMonitor {
@Test
public void testNodeCanBeQueuedAndCancelled() {
DatanodeDetails dn = MockDatanodeDetails.randomDatanodeDetails();
- monitor.startMonitoring(dn, 0);
+ monitor.startMonitoring(dn);
assertEquals(1, monitor.getPendingCount());
monitor.stopMonitoring(dn);
assertEquals(0, monitor.getPendingCount());
assertEquals(1, monitor.getCancelledCount());
- monitor.startMonitoring(dn, 0);
+ monitor.startMonitoring(dn);
assertEquals(1, monitor.getPendingCount());
assertEquals(0, monitor.getCancelledCount());
}
@@ -112,7 +112,7 @@ public class TestDatanodeAdminMonitor {
// Ensure the node has some pipelines
nodeManager.setPipelines(dn1, 2);
// Add the node to the monitor
- monitor.startMonitoring(dn1, 0);
+ monitor.startMonitoring(dn1);
monitor.run();
// Ensure a StartAdmin event was fired
eventQueue.processAll(20000);
@@ -152,7 +152,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor. By default we have zero pipelines and
// zero containers in the test setup, so the node should immediately
// transition to COMPLETED state
- monitor.startMonitoring(dn1, 0);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(0, monitor.getTrackedNodeCount());
NodeStatus newStatus = nodeManager.getNodeStatus(dn1);
@@ -179,7 +179,7 @@ public class TestDatanodeAdminMonitor {
// Run the monitor for the first time and the node will transition to
// REPLICATE_CONTAINERS as there are no pipelines to close.
- monitor.startMonitoring(dn1, 0);
+ monitor.startMonitoring(dn1);
monitor.run();
DatanodeDetails node = getFirstTrackedNode();
assertEquals(1, monitor.getTrackedNodeCount());
@@ -225,7 +225,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor, it should have 3 under-replicated containers
// after the first run
- monitor.startMonitoring(dn1, 0);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(1, monitor.getTrackedNodeCount());
DatanodeDetails node = getFirstTrackedNode();
@@ -258,7 +258,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor, it should have 3 under-replicated containers
// after the first run
- monitor.startMonitoring(dn1, 0);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(1, monitor.getTrackedNodeCount());
DatanodeDetails node = getFirstTrackedNode();
@@ -286,7 +286,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor, it should transiting to
// IN_MAINTENANCE as there are no containers to replicate.
- monitor.startMonitoring(dn1, 1);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(1, monitor.getTrackedNodeCount());
DatanodeDetails node = getFirstTrackedNode();
@@ -317,7 +317,7 @@ public class TestDatanodeAdminMonitor {
// Ensure the node has some pipelines
nodeManager.setPipelines(dn1, 2);
// Add the node to the monitor
- monitor.startMonitoring(dn1, 1);
+ monitor.startMonitoring(dn1);
monitor.run();
DatanodeDetails node = getFirstTrackedNode();
assertEquals(1, monitor.getTrackedNodeCount());
@@ -351,7 +351,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor, it should transiting to
// REPLICATE_CONTAINERS as the containers are under-replicated for
// maintenance.
- monitor.startMonitoring(dn1, 1);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(1, monitor.getTrackedNodeCount());
DatanodeDetails node = getFirstTrackedNode();
@@ -375,7 +375,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor, it should transiting to
// AWAIT_MAINTENANCE_END as there are no under-replicated containers.
- monitor.startMonitoring(dn1, 1);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(1, monitor.getTrackedNodeCount());
DatanodeDetails node = getFirstTrackedNode();
@@ -402,7 +402,7 @@ public class TestDatanodeAdminMonitor {
// Add the node to the monitor, it should transiting to
// AWAIT_MAINTENANCE_END as there are no under-replicated containers.
- monitor.startMonitoring(dn1, 1);
+ monitor.startMonitoring(dn1);
monitor.run();
assertEquals(1, monitor.getTrackedNodeCount());
DatanodeDetails node = getFirstTrackedNode();
---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-commits-help@hadoop.apache.org