[ 
https://issues.apache.org/jira/browse/NIFI-3681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15960914#comment-15960914
 ] 

Joseph Niemiec commented on NIFI-3681:
--------------------------------------

Just some other thoughts that the CS should have parameters for

* Heartbeat timeout for ElectorsAlive List  - Maybe every 30 seconds (zookeeper 
ephemeral nodes) 
* Electors required to execute vote?  an Integer that the user provides? 
Optional ,maybe? 
* Length of Time for Vote ? -Time in seconds to allow for a vote to take place, 
could be used to prevent the above members to vote requirement from become a 
dead hang. Default of maybe 10 seconds.. Should first vote take longer? 

> Controller Service for Processor Leader Elections 
> --------------------------------------------------
>
>                 Key: NIFI-3681
>                 URL: https://issues.apache.org/jira/browse/NIFI-3681
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Joseph Niemiec
>            Assignee: Joseph Niemiec
>
> Today I find a need for NiFi Cluster to allow a specific set of processors to 
>  perform a 'LeaderElection' of sorts to allow for a single processor to 
> update the process shared cluster state with assignments (both initial and 
> recovery.) The CS would be responsible for joining a Zookeeper group, the 
> logic itself, performing new elections should an leader die, etc... 
> At its core I envision a simple API provided by the CS
> * String - whoIsLeader
> * List[String] - aliveElectors
> * Long- LastElectionEpoch ? - Not sure about this, but would it be good to 
> detect if an election occurred and the leader did not change but the election 
> occured. Maybe a UUID-4?
> While thinking ZK is best as Clustered NiFi already requires it would there 
> be value in implementing a standalone RAFT or PAXOS that runs at the cluster 
> level? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to