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)