private Map<String, TopicInfo> parseTopicInfoConf(final BrokerInfo brokerInfo) {
        // check broker configure
        if (TStringUtils.isBlank(this.syncUpBrokerConfInfo)) {
            return null;
        }
        // get broker status and topic default configure
        String[] brokerConfInfoAttrs =
                this.syncUpBrokerConfInfo.split(TokenConstants.ATTR_SEP);
        int numPartitions = Integer.parseInt(brokerConfInfoAttrs[0]);
        boolean cfgAcceptPublish = Boolean.parseBoolean(brokerConfInfoAttrs[1]);
        boolean cfgAcceptSubscribe = Boolean.parseBoolean(brokerConfInfoAttrs[2]);
        int numTopicStores = 1;
        if (brokerConfInfoAttrs.length > 7) {
            if (!TStringUtils.isBlank(brokerConfInfoAttrs[7])) {
                numTopicStores = Integer.parseInt(brokerConfInfoAttrs[7]);
            }
        }
        Map<String, TopicInfo> topicInfoMap = new HashMap<>();
        // make up topicInfo info according to broker default configure
        for (String strTopicConfInfo : this.syncUpTopicConfInfos) {
            if (TStringUtils.isBlank(strTopicConfInfo)) {
                continue;
            }
            String[] topicConfAttrs =
                    strTopicConfInfo.split(TokenConstants.ATTR_SEP);
            final String tmpTopic = topicConfAttrs[0];
            int tmpPartNum = numPartitions;
            if (!TStringUtils.isBlank(topicConfAttrs[1])) {
                tmpPartNum = Integer.parseInt(topicConfAttrs[1]);
            }
            boolean tmpAcceptPublish = cfgAcceptPublish;
            if (!TStringUtils.isBlank(topicConfAttrs[2])) {
                tmpAcceptPublish = Boolean.parseBoolean(topicConfAttrs[2]);
            }
            int tmpNumTopicStores = numTopicStores;
            if (!TStringUtils.isBlank(topicConfAttrs[8])) {
                tmpNumTopicStores = Integer.parseInt(topicConfAttrs[8]);
                tmpNumTopicStores = tmpNumTopicStores > 0 ? tmpNumTopicStores : numTopicStores;
            }
            boolean tmpAcceptSubscribe = cfgAcceptSubscribe;
            if (!TStringUtils.isBlank(topicConfAttrs[3])) {
                tmpAcceptSubscribe = Boolean.parseBoolean(topicConfAttrs[3]);
            }
            topicInfoMap.put(tmpTopic, new TopicInfo(brokerInfo, tmpTopic,
                    tmpPartNum, tmpNumTopicStores, tmpAcceptPublish, tmpAcceptSubscribe));
        }
        return topicInfoMap;
    }
parse broker report configure to topicInfo

@param brokerInfo broker info
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/nodemanage/nodebroker/BrokerSyncData.java