You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Joseph Niemiec (JIRA)" <ji...@apache.org> on 2017/04/07 14:54:42 UTC

[jira] [Commented] (NIFI-3681) Controller Service for Processor Leader Elections

    [ 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)