{"record":{"id":"3895aba06ecb75e1","repo":"alibaba/nacos","slug":"config-already-exist-dataid-s-group-s-names","errorCode":null,"errorMessage":"config already exist, dataId: %s, group: %s, namespaceId: %s","messagePattern":"config already exist, dataId: (.+?), group: (.+?), namespaceId: (.+?)","errorType":"exception","errorClass":"ConfigAlreadyExistsException","httpStatus":null,"severity":"error","filePath":"config/src/main/java/com/alibaba/nacos/config/server/service/ConfigOperationService.java","lineNumber":155,"sourceCode":"            if (configRequestInfo.getUpdateForExist()) {\n                configOperateResult =\n                    configInfoPersistService.insertOrUpdate(configRequestInfo.getSrcIp(),\n                        configForm.getSrcUser(), configInfo, configAdvanceInfo);\n            } else {\n                try {\n                    configOperateResult =\n                        configInfoPersistService.addConfigInfo(configRequestInfo.getSrcIp(),\n                            configForm.getSrcUser(), configInfo, configAdvanceInfo);\n                } catch (DataIntegrityViolationException ive) {\n                    configOperateResult = new ConfigOperateResult(false);\n                }\n            }\n        }\n        if (!configOperateResult.isSuccess()) {\n            LOGGER.warn(\n                \"[publish-config-failed] config already exists. dataId: {}, group: {}, namespaceId: {}\",\n                configForm.getDataId(), configForm.getGroup(), configForm.getNamespaceId());\n            throw new ConfigAlreadyExistsException(\n                String.format(\"config already exist, dataId: %s, group: %s, namespaceId: %s\",\n                    configForm.getDataId(), configForm.getGroup(), configForm.getNamespaceId()));\n        }\n        ConfigChangePublisher.notifyConfigChange(\n            new ConfigDataChangeEvent(configForm.getDataId(), configForm.getGroup(),\n                configForm.getNamespaceId(),\n                configOperateResult.getLastModified()));\n        if (ConfigTagUtil.isIstio(configForm.getConfigTags())) {\n            ConfigChangePublisher.notifyConfigChange(\n                new IstioConfigChangeEvent(configForm.getDataId(), configForm.getGroup(),\n                    configForm.getNamespaceId(),\n                    configOperateResult.getLastModified(), configForm.getContent(),\n                    ConfigTagUtil.getIstioType(configForm.getConfigTags())));\n        }\n        ConfigTraceService.logPersistenceEvent(configForm.getDataId(), configForm.getGroup(),\n            configForm.getNamespaceId(), configRequestInfo.getRequestIpApp(),\n            configOperateResult.getLastModified(),\n            InetUtils.getSelfIP(), ConfigTraceService.PERSISTENCE_EVENT,","sourceCodeStart":137,"sourceCodeEnd":173,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/config/src/main/java/com/alibaba/nacos/config/server/service/ConfigOperationService.java#L137-L173","documentation":"Error \"config already exist, dataId: %s, group: %s, namespaceId: %s\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at config/src/main/java/com/alibaba/nacos/config/server/service/ConfigOperationService.java:155 when the library encounters an invalid state.","commonSituations":"Publishing a config that already exists for the dataId/group/namespace.","solutions":["Choose a different identifier or update the existing resource instead of creating it again."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b989acdf181d00898f2e8839257bb2b2a3cefe3","analyzedAt":"2026-08-14T07:17:31.569Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}