You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@activemq.apache.org by GitBox <gi...@apache.org> on 2020/04/27 18:04:53 UTC

[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3094: ARTEMIS-2717 Isolate the current Quorum Vote implementation

franz1981 edited a comment on pull request #3094:
URL: https://github.com/apache/activemq-artemis/pull/3094#issuecomment-616395639


   @michaelandrepearce @brusdev 
   In the current state (after the refactoring) the only services exposed by `QuorumManager` are:
   
   - `registerQuorum`/`unRegisterQuorum`: to [register/unregister a listener](https://github.com/apache/activemq-artemis/blob/0abb06322caf2cee774322dfb843a2b1d12ecbe0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java#L112) for `nodeDown`/`nodeUP` events issued by `ClusterController::defaultLocator`. The high-level function, looking at `SharedNothingBackupQuorumm`, is to detect a change in the live role (ie live is going down)
   - `isStillLive`: used by the live with `vote-on-replication-failure` to validate that is still the live
   - `hasLive`: used by the backup (on `SharedNothingBackupQuorumm`) to check, after received a disconnection failure or a `nodeDown` event (see `registerQuorum`/`unRegisterQuorum`), if there is any live in charge (and eventually, fail over). 
   - `handleQuorumVote`: to manage `QuorumVoteMessage` packets, perform a vote and send back a response. It's tied to `ClusterController` (again)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org