private void procConfigFromRegister(StringBuilder strBuff,
            final RegisterResponseM2B response) {
        // process service status
        ServiceStatusHolder
                .setReadWriteServiceStatus(response.getStopRead(),
                        response.getStopWrite(), "Master");
        // process default flow controller rules
        FlowCtrlRuleHandler defFlowCtrlHandler =
                metadataManager.getFlowCtrlRuleHandler();
        if (response.hasFlowCheckId()
                && response.getFlowCheckId() >= 0
                && response.getFlowCheckId() != defFlowCtrlHandler.getFlowCtrlId()) {
            try {
                defFlowCtrlHandler.updateFlowCtrlInfo(response.getQryPriorityId(),
                        response.getFlowCheckId(), response.getFlowControlInfo(), strBuff);
            } catch (Exception e1) {
                logger.warn("[Register response] update default flowCtrl rules failure", e1);
            }
        }
        // update auth info
        serverAuthHandler.configure(response.getEnableBrokerInfo());
        if (response.hasBrokerAuthorizedInfo()) {
            serverAuthHandler.appendVisitToken(response.getBrokerAuthorizedInfo());
        }
        // update cluster setting
        if (response.hasClsConfig()) {
            long configId = response.getClsConfig().getConfigId();
            if (configId != ClusterConfigHolder.getConfigId()) {
                ClusterConfigHolder.updClusterSetting(response.getClsConfig());
            }
        }
        strBuff.append("[Register response] received broker metadata info: brokerConfId=")
                .append(response.getCurBrokerConfId())
                .append(",stopWrite=").append(response.getStopWrite())
                .append(",stopRead=").append(response.getStopRead())
                .append(",configCheckSumId=").append(response.getConfCheckSumId())
                .append(",hasFlowCtrl=").append(response.hasFlowCheckId())
                .append(",curFlowCtrlId=").append(defFlowCtrlHandler.getFlowCtrlId())
                .append(",curQryPriorityId=").append(defFlowCtrlHandler.getQryPriorityId())
                .append(",hasClsConfig=").append(response.hasClsConfig())
                .append(",curClusterConfigId=").append(ClusterConfigHolder.getConfigId())
                .append(",curMaxMsgSize=").append(ClusterConfigHolder.getMaxMsgSize())
                .append(",minMemCacheSize=").append(ClusterConfigHolder.getMinMemCacheSize())
                .append(",enableVisitTokenCheck=")
                .append(serverAuthHandler.isEnableVisitTokenCheck())
                .append(",enableProduceAuthenticate=")
                .append(serverAuthHandler.isEnableProduceAuthenticate())
                .append(",enableProduceAuthorize=").append(serverAuthHandler.isEnableProduceAuthorize())
                .append(",enableConsumeAuthenticate=")
                .append(serverAuthHandler.isEnableConsumeAuthenticate())
                .append(",enableConsumeAuthorize=")
                .append(serverAuthHandler.isEnableConsumeAuthorize())
                .append(",brokerDefaultConfInfo=").append(response.getBrokerDefaultConfInfo())
                .append(",brokerTopicSetConfList=")
                .append(response.getBrokerTopicSetConfInfoList().toString()).toString();
        strBuff.delete(0, strBuff.length());
        metadataManager.updateBrokerTopicConfigMap(response.getCurBrokerConfId(),
                response.getConfCheckSumId(), response.getBrokerDefaultConfInfo(),
                response.getBrokerTopicSetConfInfoList(), true, strBuff);
    }
Register to master. Try multi times if failed.

@throws StartupException  the exception during processing
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/TubeBroker.java