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)

Reply via email to