alibaba/nacos · error · NacosApiException

20010

20010

Error message

gray config version is over max count :{maxGrayVersionCount}

What it means

Error "gray config version is over max count :{maxGrayVersionCount}" thrown in alibaba/nacos.

Source

Thrown at config/src/main/java/com/alibaba/nacos/config/server/service/ConfigOperationService.java:217

            configForm.getGrayVersion(), configForm.getGrayRuleExp(), configForm.getGrayPriority());
        GrayRule grayRuleStruct = GrayRuleManager.constructGrayRule(localConfigGrayPersistInfo);
        if (grayRuleStruct == null) {
            throw new NacosApiException(HttpStatus.BAD_REQUEST.value(),
                ErrorCode.CONFIG_GRAY_VERSION_INVALID,
                ErrorCode.CONFIG_GRAY_VERSION_INVALID.getMsg());
        }
        
        if (!grayRuleStruct.isValid()) {
            throw new NacosApiException(HttpStatus.BAD_REQUEST.value(),
                ErrorCode.CONFIG_GRAY_RULE_FORMAT_INVALID,
                ErrorCode.CONFIG_GRAY_RULE_FORMAT_INVALID.getMsg());
        }
        
        //version count check.
        if (checkGrayVersionOverMaxCount(configForm.getDataId(), configForm.getGroup(),
            configForm.getNamespaceId(),
            configForm.getGrayName())) {
            throw new NacosApiException(HttpStatus.BAD_REQUEST.value(),
                ErrorCode.CONFIG_GRAY_OVER_MAX_VERSION_COUNT,
                "gray config version is over max count :" + getMaxGrayVersionCount());
        }
        
        ConfigInfo configInfo = new ConfigInfo(configForm.getDataId(), configForm.getGroup(),
            configForm.getNamespaceId(), configForm.getAppName(), configForm.getContent());
        // set old md5
        if (StringUtils.isNotBlank(configRequestInfo.getCasMd5())) {
            configInfo.setMd5(configRequestInfo.getCasMd5());
        }
        configInfo.setType(configForm.getType());
        configInfo.setEncryptedDataKey(configForm.getEncryptedDataKey());
        
        ConfigOperateResult configOperateResult;
        
        if (StringUtils.isNotBlank(configRequestInfo.getCasMd5())) {
            configOperateResult = configInfoGrayPersistService.insertOrUpdateGrayCas(configInfo,
                configForm.getGrayName(),

View on GitHub (pinned to 9b989acdf1)

Solutions

  1. Review the input and runtime state for gray version count limit, correct the reported problem, and retry.

When it happens

Trigger: Thrown at config/src/main/java/com/alibaba/nacos/config/server/service/ConfigOperationService.java:217 when the library encounters an invalid state.

Common situations: Creating more gray versions than the configured maximum.


AI-assisted analysis of alibaba/nacos@9b989acdf1 (2026-08-14). Data as JSON: /api/errors/729b1dac4e4969e0. Report an issue: GitHub.