[ 
https://issues.apache.org/jira/browse/NIFI-7255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Bence reassigned NIFI-7255:
---------------------------------

    Assignee: Simon Bence

> nifi.properties configuration change can result in duplicate nodes listed in 
> Cluster UI
> ---------------------------------------------------------------------------------------
>
>                 Key: NIFI-7255
>                 URL: https://issues.apache.org/jira/browse/NIFI-7255
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.7.0, 1.8.0, 1.9.0, 1.10.0
>            Reporter: Matthew Clarke
>            Assignee: Simon Bence
>            Priority: Major
>
> The elements that go in to coming up with the "Node identifier" which is then 
> store in local state on a NiFi node include:
> /**
> the unique identifier for the node
> */
> private final String id; /**
> the IP or hostname to use for sending requests to the node's external
> interface
> */
> private final String apiAddress; /**
> the port to use use for sending requests to the node's external interface,
> this can be HTTP API port or HTTPS API port depending on whether //TODO: .
> */
> private final int apiPort; /**
> the IP or hostname to use for sending requests to the node's internal
> interface
> */
> private final String socketAddress; /**
> the port to use for sending requests to the node's internal interface
> */
> private final int socketPort; /**
> The IP or hostname to use for sending FlowFiles when load balancing a 
> connection
> */
> private final String loadBalanceAddress; /**
> the port to use for sending FlowFiles when load balancing a connection
> */
> private final int loadBalancePort; /**
> the IP or hostname that external clients should use to communicate with this 
> node via Site-to-Site
> */
> private final String siteToSiteAddress; /**
> the port that external clients should use to communicate with this node via 
> Site-to-Site RAW Socket protocol
> */
> private final Integer siteToSitePort; /**
> the port that external clients should use to communicate with this node via 
> Site-to-Site HTTP protocol,
> this can be HTTP API port or HTTPS API port depending on whether 
> siteToSiteSecure or not.
> */
> private final Integer siteToSiteHttpApiPort; /**
> whether or not site-to-site communications with this node are secure
> */
> private final Boolean siteToSiteSecure; private final Set<String> 
> nodeIdentities;
> With the following fields being used to determine quality:
> apiAddress
> apiPort
> socketAddress
> socketPort
> If for example the apiPort is changed by switching from 8080 for (http) to 
> 8443 (for https),  the node will show up twice in the in the cluster UI ( 
> hostname:8443 --> connected and hostname:8080 --> disconnected).   Having 
> these disconnected nodes will prevent changes to the UI.  Worse yet is that 
> ZK may report <hostname> as the elected Cluster coordinator and end up having 
> both the 8080 and 8443 node both being marked as the cluster coordinator.  
> Then you may not even be able to access the cluster because requests fails to 
> replicate to the Cluster coordinator because it is not connected.
> Resolving this issue requires users to shutdown NiFi, delete the local state 
> directory contents, and restart NiFi.   
> Downside to this resolution is any local state retained for NiFi components 
> (for example processors) is lost as well.
> Suggested solution here is for NiFi to retain current node identifier field 
> configuration values.  If on restart loaded configurations show any change to 
> those values, NiFi should clear out the previous retained node ids and create 
> all new node Ids.
> Might also make sense to move the stored out of local state to make manual 
> removal of this information possible without affecting state stored by 
> components found in the flow.xml.
>  
> The following Jira only addressed what specific configuration change that can 
> result in this issue:
> https://jira.apache.org/jira/browse/NIFI-5672



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to