private void updateTopicConfigure(
            Tuple2<Map<String, Integer>, List<TopicInfo>> topicInfoTuple) {
        int baseValue;
        Partition tmpPart;
        List<Partition> partList;
        Map<Integer, List<Partition>> brokerPartList;
        // update topic max msg size
        msgSizeHolder.updTopicMaxSizeInB(topicInfoTuple.getF0());
        // update topic Partition info
        Map<String, Map<Integer, List<Partition>>> partitionListMap =
                new ConcurrentHashMap<>();
        for (TopicInfo topicInfo : topicInfoTuple.getF1()) {
            brokerPartList =
                    partitionListMap.get(topicInfo.getTopic());
            if (brokerPartList == null) {
                brokerPartList = new ConcurrentHashMap<>();
                partitionListMap.put(topicInfo.getTopic(), brokerPartList);
            }
            for (int j = 0; j < topicInfo.getTopicStoreNum(); j++) {
                baseValue = j * TBaseConstants.META_STORE_INS_BASE;
                for (int i = 0; i < topicInfo.getPartitionNum(); i++) {
                    tmpPart = new Partition(topicInfo.getBroker(),
                            topicInfo.getTopic(), baseValue + i);
                    partList = brokerPartList.computeIfAbsent(
                            tmpPart.getBrokerId(), k -> new ArrayList<>());
                    partList.add(tmpPart);
                }
            }
        }
        topicPartitionMap = partitionListMap;
    }
Get partitions of the given topic.

@param topic topic name
@return partition map
inlong-tubemq/tubemq-client/src/main/java/org/apache/inlong/tubemq/client/producer/ProducerManager.java