public void freezeOrUnFreezeParts(List<String> partitionKeys, boolean isFreeze) {
        if (partitionKeys == null || partitionKeys.isEmpty()) {
            return;
        }
        for (String partitionKey : partitionKeys) {
            if (partitionKey == null) {
                continue;
            }
            if (isFreeze) {
                partitionFrozenMap.put(partitionKey, System.currentTimeMillis());
                logger.info(new StringBuilder(512)
                        .append("[Freeze Partition] Partition : ")
                        .append(partitionKey).append(" is frozen by caller!").toString());
            } else {
                Long frozenTime = partitionFrozenMap.remove(partitionKey);
                if (frozenTime != null) {
                    releaseIdlePartition(partitionKey);
                    logger.info(new StringBuilder(512)
                            .append("[UnFreeze Partition] Partition : ")
                            .append(partitionKey).append(" is unFreeze by caller!").toString());
                }
            }
        }
    }
Freeze or unfreeze partitons

@param partitionKeys    the operation targets
@param isFreeze         Freeze or unfreeze operation
inlong-tubemq/tubemq-client/src/main/java/org/apache/inlong/tubemq/client/consumer/RmtDataCache.java