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