RongtongJin commented on issue #6468:
URL: https://github.com/apache/rocketmq/issues/6468#issuecomment-1483978256

   > I think it's a good idea to implement a health check endpoint on the 
broker side. Then the brokerIsActive is no longer check the heartbeat,but 
invoke the endpoint. the endpoint is as simple as the heartbeat, just return 
the status health or not. When elect the broker from the syncStateSet, it 
should also invoke it to check whether the broker is health before can be 
elelct as Master.
   > 
   > > At this point, the broker may reconnect quickly. Is it necessary to do a 
HA switching?
   > 
   > IMO, it't not neccssary. what more, The current controller has three 
places to trigger the election:
   > 
   > 1. The broker channel closed.
   > 2. The BrokerHeartbeatManager scanNotActiveBroker
   > 3. The DLedgerController scanInactiveMasterAndTriggerReelect.
   > 
   > I think just the scanInactiveMasterAndTriggerReelect is enough, In the 
current implementation, it is easy to have a concurrent election problem.
   
   Good suggestion. I also believe that disconnecting the channel should not 
immediately trigger the election.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to