Hey there, I'm trying to work on a Livy HA feature<https://jira.apache.org/jira/browse/LIVY-11> using Zookeeper. I want to use Apache Curator to interface with Zookeeper, but I've been having issues when I try to use Curator code. Specifically, when I try to run this line of code:
val client: CuratorFramework = CuratorFrameworkFactory.newClient("localhost:2182", new ExponentialBackoffRetry(1000, 3)); I get the following error Exception in thread "main" java.lang.NoSuchMethodError: org.apache.curator.utils.PathUtils.validatePath(Ljava/lang/String;)V at org.apache.curator.framework.recipes.locks.LockInternals.<init>(LockInternals.java:102) at org.apache.curator.framework.recipes.locks.InterProcessMutex.<init>(InterProcessMutex.java:190) at org.apache.curator.framework.recipes.locks.InterProcessMutex.<init>(InterProcessMutex.java:64) at org.apache.curator.framework.recipes.leader.LeaderSelector$1.<init>(LeaderSelector.java:147) at org.apache.curator.framework.recipes.leader.LeaderSelector.<init>(LeaderSelector.java:146) at org.apache.curator.framework.recipes.leader.LeaderSelector.<init>(LeaderSelector.java:100) at org.apache.livy.server.NodeManager.<init>(NodeManager.scala:23) at org.apache.livy.server.LivyServer$.main(LivyServer.scala:349) at org.apache.livy.server.LivyServer.main(LivyServer.scala) During my investigation I noticed that the following jars are included in the final output jars directory curator-client-2.7.1.jar curator-framework-2.7.1.jar curator-recipes-2.6.0.jar However, I couldn't find anything in the pom.xml that explicitly adds these dependencies into the project. Looking back at the history, it seemed like the person who wrote the Batch Session Recovery<https://jira.apache.org/jira/browse/LIVY-211> component was able to use functions from the org.apache.curator library without needing to explicitly add the dependencies. Does anyone know how these dependencies were added/managed? I'm fairly sure the error is due to the fact that the Livy project is targeting the older versions of the curator libraries, but I don't know why it's targeting these older versions. Explicitly targeting the newer versions in the pom.xml file doesn't resolve this issue Thanks, Roger Liu