Hello All, Sorry for the cross-posting but this is important enough to justify it.
Apache Curator is in the process of releasing version 5.0. We've taken the opportunity to address some long standing tech debt but this causes breaking changes. We've detailed the breaks here: http://curator.apache.org/staging/breaking-changes.html <http://curator.apache.org/staging/breaking-changes.html>. The Clirr report shows the exact API changes: http://curator.apache.org/staging/curator-recipes/clirr-report.html <http://curator.apache.org/staging/curator-recipes/clirr-report.html>. The first two of these are the most worrisome. NodeCache's and PathChildrenCache's getListenable() methods now have a different return type. This has far reaching implications. If a Curator user were to drop in Curator 5.0 without any code changes they will get runtime exceptions when these methods are called. I've written a test that shows the problem: git clone https://github.com/Randgalt/curator_5_0_test.git cd curator_5_0_test ./run.sh You will see: java.lang.NoSuchMethodError: org.apache.curator.framework.recipes.cache.PathChildrenCache.getListenable()Lorg/apache/curator/framework/listen/ListenerContainer; at binary.Curator50Test.run(Curator50Test.java:26) at test.Test.main(Test.java:9) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297) at java.lang.Thread.run(Thread.java:748) Enrico Olivelli brought this to our attention. Curator 5.0 is a major version bump so breaking changes are implied. But, maybe this is blocker? What do people think? If this is a serious enough concern we can come up with a workaround. Please discuss and let's hold off completing the current release until this has been fully discussed. -Jordan