Simon Billingsley created CURATOR-454: -----------------------------------------
Summary: Curator 4.0.0 be used with Zookeeper 3.4.10 due to compile-time issues Key: CURATOR-454 URL: https://issues.apache.org/jira/browse/CURATOR-454 Project: Apache Curator Issue Type: Bug Components: Framework Affects Versions: 4.0.0 Reporter: Simon Billingsley I see compile issues when trying to compile a project with a library that depends on apache curator 4.0.0. We are trying to upgrade to a newer version of Zookeeper (3.4.10) due to security issues in ZK 3.4.9 and have been forced to upgrade to a newer version of curator (from 2.11.1 due to other curator issues) but we keep hitting compile-time issues (see below) which mean that we need to use ZK 3.5.3-beta at compile time even though we will use ZK 3.4.10 at runtime. Here is an example of the javac verbose output (via maven): {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/transaction/CuratorOp.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/zookeeper/zookeeper/3.4.10/zookeeper-3.4.10.jar(org/apache/zookeeper/Op.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/zookeeper/zookeeper/3.4.10/zookeeper-3.4.10.jar(org/apache/zookeeper/Op$Create.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/zookeeper/zookeeper/3.4.10/zookeeper-3.4.10.jar(org/apache/zookeeper/Op$Delete.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/zookeeper/zookeeper/3.4.10/zookeeper-3.4.10.jar(org/apache/zookeeper/Op$SetData.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/zookeeper/zookeeper/3.4.10/zookeeper-3.4.10.jar(org/apache/zookeeper/Op$Check.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/transaction/TypeAndPath.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/SyncBuilder.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/RemoveWatchesBuilder.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/RemoveWatchesType.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/RemoveWatchesLocal.class)]]}} {{[loading ZipFileIndexFileObject[/Users/sbilling/.m2/repository/org/apache/curator/curator-framework/4.0.0/curator-framework-4.0.0.jar(org/apache/curator/framework/api/BackgroundPathableQuietlyable.class)]]}}{{java.lang.RuntimeException: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for org.apache.zookeeper.Watcher$WatcherType not found}} If I look through the source code I see that RemoveWatchesType imports and uses org.apache.zookeeper.Watcher$WatcherType in the 'ofType' method. I don't understand how the backwards-compatibility is meant to work. It is also strange that this compile error only appears for a few of the modules in the project, so it must depend on which classes are used by the library and so which classes are loaded into the compile tree. -- This message was sent by Atlassian JIRA (v7.6.3#76005)