在控制器模式下,变量“isIsolated”始终为true,这将导致borker和控制器之间的心跳永

提问12.png

提问13.png

如图所示和标题所述,borker和控制器之间的心跳永远不会发生。

原提问者GitHub用户zhouchunhai

展开
收起
芬奇福贵 2023-05-26 10:16:02 71 分享 版权
1 条回答
写回答
取消 提交回答
  • rocketmq/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java

    Lines 290 to 314 in f8bf7bd

    private boolean registerBrokerToController() { // Register this broker to controller, get brokerId and masterAddress. try { final RegisterBrokerToControllerResponseHeader registerResponse = this.brokerOuterAPI.registerBrokerToController(this.controllerLeaderAddress, this.brokerConfig.getBrokerClusterName(), this.brokerConfig.getBrokerName(), this.localAddress, this.haService.getLastEpoch(), this.brokerController.getMessageStore().getMaxPhyOffset()); final String newMasterAddress = registerResponse.getMasterAddress(); if (StringUtils.isNoneEmpty(newMasterAddress)) { if (StringUtils.equals(newMasterAddress, this.localAddress)) { changeToMaster(registerResponse.getMasterEpoch(), registerResponse.getSyncStateSetEpoch()); } else {

    代理注册到控制器成功后,isIsolated将为false。

    原回答者GitHub用户RongtongJin

    2023-05-26 16:46:19
    赞同 展开评论
问答地址: