[ 
https://issues.apache.org/jira/browse/NIFI-2957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15654447#comment-15654447
 ] 

ASF GitHub Bot commented on NIFI-2957:
--------------------------------------

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)
    ```


> ZooKeeper migration toolkit
> ---------------------------
>
>                 Key: NIFI-2957
>                 URL: https://issues.apache.org/jira/browse/NIFI-2957
>             Project: Apache NiFi
>          Issue Type: New Feature
>          Components: Tools and Build
>    Affects Versions: 1.0.0, 0.7.1
>            Reporter: Jeff Storck
>            Assignee: Jeff Storck
>             Fix For: 1.2.0
>
>
> When upgrading from NiFi 0.x to 1.x, or when it is desired to move from the 
> embedded ZooKeeper to an external ZooKeeper, state from ZooKeeper needs to be 
> migrated.
> Initial considerations:
> * Username/password protection of nodes is not supported in NiFi 1.x.. Those 
> nodes that are configured that way in ZooKeeper need to be migrated to have 
> an open ACL.
> * The toolkit will support a mode to read data from a configurable root node 
> in a source ZooKeeper, and the data will be written to a file designated via 
> CLI.
> * The toolkit will support a mode to write data to a destination ZooKeeper
> * The toolkit will not allow data to be written to the same ZooKeeper from 
> which the source data was obtained.
> * The toolkit will not support reconnecting to ZooKeeper if it is 
> disconnected.  The user can rerun the tool.
> * The toolkit will support ZooKeepers configured with Kerberos.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to