private ClientMaster.OpsTaskInfo.Builder buildOpsTaskInfo(ConsumeGroupInfo groupInfo,
            ConsumerInfo nodeInfo,
            OpsSyncInfo opsTaskInfo) {
        ClientMaster.OpsTaskInfo.Builder builder = ClientMaster.OpsTaskInfo.newBuilder();
        long csmFromMaxCtrlId = groupInfo.getCsmFromMaxCtrlId();
        if (csmFromMaxCtrlId != TBaseConstants.META_VALUE_UNDEFINED
                && nodeInfo.getCsmFromMaxOffsetCtrlId() != csmFromMaxCtrlId) {
            builder.setCsmFrmMaxOffsetCtrlId(csmFromMaxCtrlId);
        }
        ClusterSettingEntity defSetting =
                defMetaDataService.getClusterDefSetting(false);
        GroupResCtrlEntity groupResCtrlConf =
                defMetaDataService.getGroupCtrlConf(nodeInfo.getGroupName());
        if (defSetting.enableFlowCtrl()) {
            builder.setDefFlowCheckId(defSetting.getSerialId());
            if (opsTaskInfo.getDefFlowChkId() != defSetting.getSerialId()) {
                builder.setDefFlowControlInfo(defSetting.getGloFlowCtrlRuleInfo());
            }
        }
        if (groupResCtrlConf != null
                && groupResCtrlConf.isFlowCtrlEnable()) {
            builder.setGroupFlowCheckId(groupResCtrlConf.getSerialId());
            builder.setQryPriorityId(groupResCtrlConf.getQryPriorityId());
            if (opsTaskInfo.getGroupFlowChkId() != groupResCtrlConf.getSerialId()) {
                builder.setGroupFlowControlInfo(groupResCtrlConf.getFlowCtrlInfo());
            }
        }
        return builder;
    }
build approved client configure

@param inClientConfig client reported Configure info
@param prodConfigTuple     published max topic size tuple
@return ApprovedClientConfig
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/TMaster.java