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)