apache/dolphinscheduler · error · RegistryException

Failed to delete registry key:

Error message

Failed to delete registry key: 

What it means

Wrapper thrown in ZookeeperRegistry.delete: when Curator's deletingChildrenIfNeeded fails on nodePath for a reason other than NoNode (which is ignored as already-deleted) — e.g. connection loss, session expiry, or ACL denial — it is rethrown as a RegistryException identifying the node path.

Source

Thrown at dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-zookeeper/src/main/java/org/apache/dolphinscheduler/plugin/registry/zookeeper/ZookeeperRegistry.java:206

        try {
            List<String> result = client.getChildren().forPath(key);
            result.sort(Comparator.reverseOrder());
            return result;
        } catch (Exception e) {
            throw new RegistryException("zookeeper get children error", e);
        }
    }

    @Override
    public void delete(String nodePath) {
        try {
            client.delete()
                    .deletingChildrenIfNeeded()
                    .forPath(nodePath);
        } catch (KeeperException.NoNodeException ignored) {
            // Is already deleted or does not exist
        } catch (Exception e) {
            throw new RegistryException("Failed to delete registry key: " + nodePath, e);
        }
    }

    @Override
    public boolean acquireLock(String key) {
        Map<String, InterProcessMutex> processMutexMap = threadLocalLockMap.get();
        if (null == processMutexMap) {
            processMutexMap = new HashMap<>();
            threadLocalLockMap.set(processMutexMap);
        }
        InterProcessMutex interProcessMutex = null;
        try {
            interProcessMutex =
                    Optional.ofNullable(processMutexMap.get(key)).orElse(new InterProcessMutex(client, key));
            interProcessMutex.acquire();
            processMutexMap.put(key, interProcessMutex);
            return true;
        } catch (Exception e) {

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Check ZooKeeper connectivity and session validity in the cause chain (ConnectionLoss, SessionExpired)
  2. Verify ACLs allow delete on the path
  3. Retry the delete; NoNode cases are already treated as success
  4. Inspect the ZK server logs for the corresponding error
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-zookeeper/src/main/java/org/apache/dolphinscheduler/plugin/registry/zookeeper/ZookeeperRegistry.java:206 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06). Data as JSON: /api/errors/32e460fdea0a25f7. Report an issue: GitHub.