Description
Currently, Curator auto detect whether it is in a zookeeper 3.4.x environment by
static { boolean localHasZooKeeperAdmin; try { Class.forName("org.apache.zookeeper.admin.ZooKeeperAdmin"); localHasZooKeeperAdmin = true; } catch ( ClassNotFoundException e ) { localHasZooKeeperAdmin = false; logger.info("Running in ZooKeeper 3.4.x compatibility mode"); } hasZooKeeperAdmin = localHasZooKeeperAdmin; }
However, for some projects such as FLINK, both zookeeper and curator are relocated. Thus org.apache.zookeeper.admin.ZooKeeperAdmin is shaded as org.apache.flink.shaded.zookeeper.org.apache.zookeeper.admin.ZooKeeperAdmin. So the detection fails.
A manually configurable compatibility option might solve this problem.