Kevin Chilton created RYA-96:
--------------------------------
Summary: Geo Indexer zookeeper dependency conflict.
Key: RYA-96
URL: https://issues.apache.org/jira/browse/RYA-96
Project: Rya
Issue Type: Bug
Environment: Integration test connected to an Accumulo instance
running on a cluster.
Reporter: Kevin Chilton
Priority: Critical
The Accumulo implementation of the Geo Index does not work because of
conflicting zookeeper versions. It looks like Accumulo wants to use 3.3.6, so
that's what our build pulls in. However, GeoMesa depends on Curator which uses
zookeeper 3.4.6. This throws an exception when you try to initialize Sail using
a Geo Index.
Stack Trace:
java.lang.NoSuchMethodError:
org.apache.zookeeper.ZooKeeper.<init>(Ljava/lang/String;ILorg/apache/zookeeper/Watcher;Z)V
at
org.apache.curator.utils.DefaultZookeeperFactory.newZooKeeper(DefaultZookeeperFactory.java:29)
at
org.apache.curator.framework.imps.CuratorFrameworkImpl$2.newZooKeeper(CuratorFrameworkImpl.java:146)
at org.apache.curator.HandleHolder$1.getZooKeeper(HandleHolder.java:94)
at org.apache.curator.HandleHolder.getZooKeeper(HandleHolder.java:55)
at org.apache.curator.ConnectionState.reset(ConnectionState.java:218)
at org.apache.curator.ConnectionState.start(ConnectionState.java:102)
at
org.apache.curator.CuratorZookeeperClient.start(CuratorZookeeperClient.java:189)
at
org.apache.curator.framework.imps.CuratorFrameworkImpl.start(CuratorFrameworkImpl.java:248)
at
org.locationtech.geomesa.accumulo.data.AccumuloDataStore.acquireDistributedLock(AccumuloDataStore.scala:806)
at
org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:264)
at
org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:65)
at
mvm.rya.indexing.accumulo.geo.GeoMesaGeoIndexer.getStatementFeatureType(GeoMesaGeoIndexer.java:226)
at
mvm.rya.indexing.accumulo.geo.GeoMesaGeoIndexer.initInternal(GeoMesaGeoIndexer.java:170)
at
mvm.rya.indexing.accumulo.geo.GeoMesaGeoIndexer.setConf(GeoMesaGeoIndexer.java:149)
at
org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73)
at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
at
org.apache.hadoop.conf.Configuration.getInstances(Configuration.java:1961)
at
mvm.rya.accumulo.AccumuloRdfConfiguration.getAdditionalIndexers(AccumuloRdfConfiguration.java:101)
at mvm.rya.accumulo.AccumuloRyaDAO.init(AccumuloRyaDAO.java:131)
at mvm.rya.sail.config.RyaSailFactory.getRyaSail(RyaSailFactory.java:82)
at
mvm.rya.sail.config.RyaSailFactory.getInstance(RyaSailFactory.java:50)
at
mvm.rya.indexing.accumulo.geo.GeoIndexerTest.test(GeoIndexerTest.java:112)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)