public static boolean checkProducerTopicList(List<String> reqTopicLst,
            StringBuilder strBuff, ProcessResult result) {
        if (reqTopicLst == null) {
            result.setFailResult(TErrCodeConstants.BAD_REQUEST,
                    "Request miss necessary topic field info!");
            return result.isSuccess();
        }
        Set<String> transTopicList = new HashSet<>();
        if (!reqTopicLst.isEmpty()) {
            for (String topic : reqTopicLst) {
                if (TStringUtils.isBlank(topic)) {
                    continue;
                }
                topic = topic.trim();
                // filter system topic OFFSET_HISTORY_NAME
                if (topic.equals(TServerConstants.OFFSET_HISTORY_NAME)) {
                    result.setFailResult(TErrCodeConstants.BAD_REQUEST,
                            strBuff.append("System Topic ")
                                    .append(TServerConstants.OFFSET_HISTORY_NAME)
                                    .append(" does not allow client produce data!").toString());
                    strBuff.delete(0, strBuff.length());
                    return result.isSuccess();
                }
                transTopicList.add(topic);
            }
        }
        if (transTopicList.size() > TBaseConstants.META_MAX_BOOKED_TOPIC_COUNT) {
            result.setFailResult(TErrCodeConstants.BAD_REQUEST,
                    strBuff.append("Booked topic's count over max value, required max count is ")
                            .append(TBaseConstants.META_MAX_BOOKED_TOPIC_COUNT).toString());
            strBuff.delete(0, strBuff.length());
            return result.isSuccess();
        }
        result.setSuccResult(transTopicList);
        return result.isSuccess();
    }
Check request topic list of producer

@param reqTopicLst the topic list to be checked.
@param strBuff   a string buffer used to construct the result
@param result    the process result
@return          success or failure
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/paramcheck/PBParameterUtils.java