Skip to content

[Bug] [Registry] RegistryClient.cleanHistoryFailoverFinishedNodes uses child node name as full path -> Curator "Path must start with /" #18060

@zhangyuewen12

Description

@zhangyuewen12

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

DolphinScheduler: 3.3.2
Registry: ZooKeeper (Curator)
Component: Worker startup / RegistryClient init
JDK: 1.8
Failed to clean the failoverFinishedNode: xxxx
org.apache.dolphinscheduler.registry.api.RegistryException: zookeeper get data error
Caused by: java.lang.IllegalArgumentException: Path must start with / character
at org.apache.curator.utils.PathUtils.validatePath(PathUtils.java:55)
at org.apache.curator.framework.imps.GetDataBuilderImpl.forPath(GetDataBuilderImpl.java:296)
at org.apache.dolphinscheduler.plugin.registry.zookeeper.ZookeeperRegistry.get(ZookeeperRegistry.java:156)
at org.apache.dolphinscheduler.registry.api.RegistryClient.cleanHistoryFailoverFinishedNodes(RegistryClient.java:246)

What you expected to happen

ZookeeperRegistry.children(parentPath) calls Curator getChildren().forPath(parentPath) which returns child node names only, not full paths.

How to reproduce

  1. Use ZooKeeper registry.

  2. Ensure RegistryNodeType.FAILOVER_FINISH_NODES.getRegistryPath() exists and has at least one child node (e.g. 10.23.0.1:1234-1773105368857-30370).

  3. Start Worker (or any process that initializes RegistryClient).

  4. Observe the exception during RegistryClient initialization cleanup.

Anything else

No response

Version

3.3.2

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingduplicateThis issue or pull request already exists

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions