You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2017/01/25 17:25:18 UTC

nifi git commit: NIFI-3295 - ensures node is disconnected before trying to remove it. This closes #1444

Repository: nifi
Updated Branches:
  refs/heads/master e113511fe -> 1a6802a01


NIFI-3295 - ensures node is disconnected before trying to remove it. This closes #1444


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/1a6802a0
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/1a6802a0
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/1a6802a0

Branch: refs/heads/master
Commit: 1a6802a0166127e80700d13581aaac2166047d4b
Parents: e113511
Author: Pierre Villard <pi...@gmail.com>
Authored: Wed Jan 25 16:08:52 2017 +0100
Committer: Matt Gilman <ma...@gmail.com>
Committed: Wed Jan 25 12:24:45 2017 -0500

----------------------------------------------------------------------
 .../java/org/apache/nifi/web/StandardNiFiServiceFacade.java    | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/1a6802a0/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
index 7554dfb..cc472b8 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
@@ -49,6 +49,7 @@ import org.apache.nifi.cluster.coordination.node.DisconnectionCode;
 import org.apache.nifi.cluster.coordination.node.NodeConnectionState;
 import org.apache.nifi.cluster.coordination.node.NodeConnectionStatus;
 import org.apache.nifi.cluster.event.NodeEvent;
+import org.apache.nifi.cluster.manager.exception.IllegalNodeDeletionException;
 import org.apache.nifi.cluster.manager.exception.UnknownNodeException;
 import org.apache.nifi.cluster.protocol.NodeIdentifier;
 import org.apache.nifi.components.PropertyDescriptor;
@@ -3335,6 +3336,11 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade {
             throw new UnknownNodeException("Cannot remove Node with ID " + nodeId + " because it is not part of the cluster");
         }
 
+        final NodeConnectionStatus nodeConnectionStatus = clusterCoordinator.getConnectionStatus(nodeIdentifier);
+        if (!nodeConnectionStatus.getState().equals(NodeConnectionState.DISCONNECTED)) {
+            throw new IllegalNodeDeletionException("Cannot remove Node with ID " + nodeId + " because it is not disconnected, current state = " + nodeConnectionStatus.getState());
+        }
+
         clusterCoordinator.removeNode(nodeIdentifier, userDn);
         heartbeatMonitor.removeHeartbeat(nodeIdentifier);
     }