NoSuchMethodError: io.vavr.concurrent.Future.fromJavaFuture


Mengjie Li <import...@...>
 

I use such an environment: 
For confirmed bugs, please report:
- Version:  JanusGraph 0.5, Spark 2.4.6
- Storage Backend: cassandra:3
- Mixed Index Backend: elasticsearch:6.6.0
- Steps to Reproduce: 
    
    1. Use janusgraph-docker project to start all services:
    
        ```shell
        docker-compose -f docker-compose-cql-es.yml up
        ```

   2. In my spark project code like this:

      ```scala
          val properties = path + "hadoop-graph/read-cql.properties"
          val propertiesConfiguration = new PropertiesConfiguration(properties)
          val graph = GraphFactory.open(propertiesConfiguration)
          val g = graph.traversal().withComputer(classOf[SparkGraphComputer])
          println(g.V().count().next())
      ```

### Stack Trace 

```
org.janusgraph.core.JanusGraphException: Could not execute operation due to backend exception
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:56)
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:158)
        at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration.get(KCVSConfiguration.java:94)
        at org.janusgraph.diskstorage.configuration.BasicConfiguration.isFrozen(BasicConfiguration.java:105)
        at org.janusgraph.diskstorage.configuration.builder.ReadConfigurationBuilder.buildGlobalConfiguration(ReadConfigurationBuilder.java:70)
        at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:53)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:161)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:132)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:122)
        at org.janusgraph.hadoop.formats.util.input.current.JanusGraphHadoopSetupImpl.<init>(JanusGraphHadoopSetupImpl.java:58)
        at org.janusgraph.hadoop.formats.util.HadoopInputFormat.lambda$static$0(HadoopInputFormat.java:41)
        at org.janusgraph.hadoop.formats.util.HadoopInputFormat$RefCountedCloseable.acquire(HadoopInputFormat.java:94)
        at org.janusgraph.hadoop.formats.util.HadoopRecordReader.<init>(HadoopRecordReader.java:50)
        at org.janusgraph.hadoop.formats.util.HadoopInputFormat.createRecordReader(HadoopInputFormat.java:56)
        at org.apache.spark.rdd.NewHadoopRDD$$anon$1.liftedTree1$1(NewHadoopRDD.scala:197)
.....
Caused by: org.janusgraph.diskstorage.PermanentBackendException: Permanent exception while executing backend operation getConfiguration
        at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:81)
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:54)
        ... 42 more
Caused by: java.lang.NoSuchMethodError: io.vavr.concurrent.Future.fromJavaFuture(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Future;)Lio/vavr/concurren
t/Future;
        at org.janusgraph.diskstorage.cql.CQLKeyColumnValueStore.getSlice(CQLKeyColumnValueStore.java:280)
        at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration$1.call(KCVSConfiguration.java:97)
        at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration$1.call(KCVSConfiguration.java:94)
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:147)
        at org.janusgraph.diskstorage.util.BackendOperation$1.call(BackendOperation.java:161)
        at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:68)
        ... 43 more
```

I am pretty sure this method exists.  I don't know why this happens. Because I first use this database, maybe just some config I make wrong. 

So thank you for looking!!!


Anumodh Narayanankutty <anaraya...@...>
 

Hi,
Looks like you are facing a library conflict. May be another version of vavr is there is also. Could you please check this?

On Monday, August 17, 2020 at 4:45:20 AM UTC-7 imp...@... wrote:
I use such an environment: 
For confirmed bugs, please report:
- Version:  JanusGraph 0.5, Spark 2.4.6
- Storage Backend: cassandra:3
- Mixed Index Backend: elasticsearch:6.6.0
- Steps to Reproduce: 
    
    1. Use janusgraph-docker project to start all services:
    
        ```shell
        docker-compose -f docker-compose-cql-es.yml up
        ```

   2. In my spark project code like this:

      ```scala
          val properties = path + "hadoop-graph/read-cql.properties"
          val propertiesConfiguration = new PropertiesConfiguration(properties)
          val graph = GraphFactory.open(propertiesConfiguration)
          val g = graph.traversal().withComputer(classOf[SparkGraphComputer])
          println(g.V().count().next())
      ```

### Stack Trace 

```
org.janusgraph.core.JanusGraphException: Could not execute operation due to backend exception
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:56)
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:158)
        at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration.get(KCVSConfiguration.java:94)
        at org.janusgraph.diskstorage.configuration.BasicConfiguration.isFrozen(BasicConfiguration.java:105)
        at org.janusgraph.diskstorage.configuration.builder.ReadConfigurationBuilder.buildGlobalConfiguration(ReadConfigurationBuilder.java:70)
        at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:53)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:161)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:132)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:122)
        at org.janusgraph.hadoop.formats.util.input.current.JanusGraphHadoopSetupImpl.<init>(JanusGraphHadoopSetupImpl.java:58)
        at org.janusgraph.hadoop.formats.util.HadoopInputFormat.lambda$static$0(HadoopInputFormat.java:41)
        at org.janusgraph.hadoop.formats.util.HadoopInputFormat$RefCountedCloseable.acquire(HadoopInputFormat.java:94)
        at org.janusgraph.hadoop.formats.util.HadoopRecordReader.<init>(HadoopRecordReader.java:50)
        at org.janusgraph.hadoop.formats.util.HadoopInputFormat.createRecordReader(HadoopInputFormat.java:56)
        at org.apache.spark.rdd.NewHadoopRDD$$anon$1.liftedTree1$1(NewHadoopRDD.scala:197)
.....
Caused by: org.janusgraph.diskstorage.PermanentBackendException: Permanent exception while executing backend operation getConfiguration
        at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:81)
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:54)
        ... 42 more
Caused by: java.lang.NoSuchMethodError: io.vavr.concurrent.Future.fromJavaFuture(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Future;)Lio/vavr/concurren
t/Future;
        at org.janusgraph.diskstorage.cql.CQLKeyColumnValueStore.getSlice(CQLKeyColumnValueStore.java:280)
        at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration$1.call(KCVSConfiguration.java:97)
        at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration$1.call(KCVSConfiguration.java:94)
        at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:147)
        at org.janusgraph.diskstorage.util.BackendOperation$1.call(BackendOperation.java:161)
        at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:68)
        ... 43 more
```

I am pretty sure this method exists.  I don't know why this happens. Because I first use this database, maybe just some config I make wrong. 

So thank you for looking!!!