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