{"record":{"id":"ede1dd30f666c3c0","repo":"apache/dolphinscheduler","slug":"120021","errorCode":"120021","errorMessage":"this cluster name [{0}] already exists","messagePattern":"this cluster name \\[(.+?)\\] already exists","errorType":"error_code","errorClass":"ServiceException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ClusterServiceImpl.java","lineNumber":88,"sourceCode":"     * create cluster\n     *\n     * @param loginUser login user\n     * @param name      cluster name\n     * @param config    cluster config\n     * @param desc      cluster desc\n     */\n    @Transactional\n    @Override\n    public Long createCluster(User loginUser, String name, String config, String desc) {\n        if (isNotAdmin(loginUser)) {\n            throw new ServiceException(Status.USER_NO_OPERATION_PERM);\n        }\n\n        checkParams(name, config);\n\n        Cluster clusterExistByName = clusterDao.queryByClusterName(name);\n        if (clusterExistByName != null) {\n            throw new ServiceException(Status.CLUSTER_NAME_EXISTS, name);\n        }\n\n        Cluster cluster = new Cluster();\n        cluster.setName(name);\n        cluster.setConfig(config);\n        cluster.setDescription(desc);\n        cluster.setOperator(loginUser.getId());\n        cluster.setCreateTime(new Date());\n        cluster.setUpdateTime(new Date());\n        cluster.setCode(CodeGenerateUtils.genCode());\n\n        if (clusterDao.insert(cluster) > 0) {\n            return cluster.getCode();\n        }\n        throw new ServiceException(Status.CREATE_CLUSTER_ERROR);\n    }\n\n    /**","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ClusterServiceImpl.java#L70-L106","documentation":"Thrown in createCluster when clusterDao.queryByClusterName finds an existing cluster with the same name. Cluster names must be unique; the faulting input is the name parameter that collides with a stored cluster.","triggerScenarios":"Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ClusterServiceImpl.java:88 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Choose a different, unique cluster name.","Query the existing cluster first; if it is stale or wrong, update or delete it instead of creating a duplicate."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"02eac45a1b6676e639fcbfb4be2243de5771b05d","analyzedAt":"2026-09-06T17:43:00.555Z","contentChangedAt":"2026-09-06T17:43:00.555Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}