Github user brosander commented on the issue:

    https://github.com/apache/nifi/pull/1193
  
    @jtstorck I'm having some problems trying to save a path (/node) and then 
restore at the same path in a new zookeeper instance.
    
    Here's what I'm getting (with a teardown and reinstantiation of the 
zookeeper container between receive and send commands) :
    ```
    zk-migrator.sh -z zoo1/node -r -f /out/out.json
    zk-migrator.sh -z zoo1:2181/ -s -f /out/out.json
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in 
[jar:file:/opt/nifi-toolkit/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in 
[jar:file:/opt/nifi-toolkit/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
explanation.
    SLF4J: Actual binding is of type 
[ch.qos.logback.classic.util.ContextSelectorStaticBinder]
    2016-11-10 16:14:26,590 INFO [main] o.a.n.t.zkmigrator.ZooKeeperMigrator 
Source data was obtained from ZooKeeper: 
ZooKeeperEndpointConfig{connectString=zoo1, path=/node}
    2016-11-10 16:14:26,621 INFO [ForkJoinPool.commonPool-worker-1] 
o.a.n.t.zkmigrator.ZooKeeperMigrator transformed original node 
DataStatAclNode{path=/node, acls=[31,s{'world,'anyone}
    ], ephemeralOwner=0} to DataStatAclNode{path=//node, 
acls=[31,s{'world,'anyone}
    ], ephemeralOwner=0}
    Exception in thread "main" java.lang.RuntimeException: unable to perform 
operation: java.lang.IllegalArgumentException: Invalid path string "//node" 
caused by empty node name specified @1
            at 
org.apache.nifi.toolkit.zkmigrator.ZooKeeperMigratorMain.main(ZooKeeperMigratorMain.java:145)
    Caused by: java.util.concurrent.ExecutionException: 
java.lang.IllegalArgumentException: Invalid path string "//node" caused by 
empty node name specified @1
            at 
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
            at 
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
            at 
org.apache.nifi.toolkit.zkmigrator.ZooKeeperMigrator.writeZooKeeper(ZooKeeperMigrator.java:171)
            at 
org.apache.nifi.toolkit.zkmigrator.ZooKeeperMigratorMain.main(ZooKeeperMigratorMain.java:139)
    Caused by: java.lang.IllegalArgumentException: Invalid path string "//node" 
caused by empty node name specified @1
            at 
org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:99)
            at 
org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:35)
            at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:766)
            at 
org.apache.nifi.toolkit.zkmigrator.ZooKeeperMigrator.ensureNodeExists(ZooKeeperMigrator.java:214)
            at 
org.apache.nifi.toolkit.zkmigrator.ZooKeeperMigrator.lambda$null$5(ZooKeeperMigrator.java:159)
            at 
java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
            at 
java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
            at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
            at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1595)
            at 
java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582)
            at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
            at 
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
            at 
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
            at 
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to