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 13:18:41 UTC

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

Joseph Niemiec created NIFI-3681:
------------------------------------

             Summary: 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)