Is it possible to run a JanusGraph Docker Container with an AWS Keyspace as storage backend?
I tried to configure the Keyspace using Janus Graphs cassandra-es
template. If I run the below docker-compose.yml
JanusGraph logs exceptions and all queries return a ScriptEvaluationError: gremlin-groovy is not an available GremlinScriptEngine'
. Maybe the connection to the Keyspace cannot be established?
version: "3"
services:
janusgraph:
image: janusgraph/janusgraph:latest
container_name: jce-janusgraph
environment:
JANUS_PROPS_TEMPLATE: cassandra-es
janusgraph.storage.backend: cql
janusgraph.storage.hostname: cassandra.eu-central-1.amazonaws.com
janusgraph.storage.password: <password>
janusgraph.storage.username: <username>
janusgraph.storage.cql.keyspace: janusgraphtest
# janusgraph.storage.cql.ssl.enabled: 'true'
janusgraph.index.search.hostname: jce-elastic
ports:
- "8182:8182"
networks:
- jce-network
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.6.0
container_name: jce-elastic
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "http.host=0.0.0.0"
- "network.host=0.0.0.0"
- "transport.host=127.0.0.1"
- "cluster.name=docker-cluster"
- "xpack.security.enabled=false"
- "discovery.zen.minimum_master_nodes=1"
ports:
- "9200:9200"
networks:
- jce-network
networks:
jce-network:
volumes:
janusgraph-default-data:
Username and password for the aws keyspace are created according to the docs
Below are the startup logs (verbose)
jce-janusgraph | waiting for storage...
jce-janusgraph | waiting for storage...
jce-janusgraph | waiting for storage...
jce-janusgraph | SLF4J: Class path contains multiple SLF4J bindings.
jce-janusgraph | SLF4J: Found binding in [jar:file:/opt/janusgraph/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
jce-janusgraph | SLF4J: Found binding in [jar:file:/opt/janusgraph/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
jce-janusgraph | SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
jce-janusgraph | SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
jce-janusgraph | 2 [main] INFO org.apache.tinkerpop.gremlin.server.GremlinServer - 3.4.6
jce-janusgraph | \,,,/
jce-janusgraph | (o o)
jce-janusgraph | -----oOOo-(3)-oOOo-----
jce-janusgraph |
jce-janusgraph | 145 [main] INFO org.apache.tinkerpop.gremlin.server.GremlinServer - Configuring Gremlin Server from /etc/opt/janusgraph/gremlin-server.yaml
jce-janusgraph | 208 [main] INFO org.apache.tinkerpop.gremlin.server.util.MetricManager - Configured Metrics ConsoleReporter configured with report interval=180000ms
jce-janusgraph | 211 [main] INFO org.apache.tinkerpop.gremlin.server.util.MetricManager - Configured Metrics CsvReporter configured with report interval=180000ms to fileName=/tmp/gremlin-server-metrics.csv
jce-janusgraph | 261 [main] INFO org.apache.tinkerpop.gremlin.server.util.MetricManager - Configured Metrics JmxReporter configured with domain= and agentId=
jce-janusgraph | 264 [main] INFO org.apache.tinkerpop.gremlin.server.util.MetricManager - Configured Metrics Slf4jReporter configured with interval=180000ms and loggerName=org.apache.tinkerpop.gremlin.server.Settings$Slf4jReporterMetrics
jce-janusgraph | 670 [main] INFO com.datastax.driver.core - DataStax Java driver 3.8.0 for Apache Cassandra
jce-janusgraph | 690 [main] INFO com.datastax.driver.core.GuavaCompatibility - Detected Guava < 19 in the classpath, using legacy compatibility layer
jce-janusgraph | 700 [main] WARN org.apache.tinkerpop.gremlin.server.GremlinServer - Graph [graph] configured at [/etc/opt/janusgraph/janusgraph.properties] could not be instantiated and will not be available in Gremlin Server. GraphFactory message: GraphFactory could not instantiate this Graph implementation [class org.janusgraph.core.JanusGraphFactory]
jce-janusgraph | java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [class org.janusgraph.core.JanusGraphFactory]
jce-janusgraph | at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:81)
jce-janusgraph | at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:69)
jce-janusgraph | at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:103)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager.lambda$new$0(DefaultGraphManager.java:57)
jce-janusgraph | at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:671)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager.<init>(DefaultGraphManager.java:55)
jce-janusgraph | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jce-janusgraph | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jce-janusgraph | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jce-janusgraph | at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:80)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:122)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:86)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:345)
jce-janusgraph | Caused by: java.lang.reflect.InvocationTargetException
jce-janusgraph | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jce-janusgraph | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jce-janusgraph | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jce-janusgraph | at java.lang.reflect.Method.invoke(Method.java:498)
jce-janusgraph | at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:77)
jce-janusgraph | ... 13 more
jce-janusgraph | Caused by: java.lang.IllegalArgumentException: Could not instantiate implementation: org.janusgraph.diskstorage.cql.CQLStoreManager
jce-janusgraph | at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:64)
jce-janusgraph | at org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:440)
jce-janusgraph | at org.janusgraph.diskstorage.Backend.getStorageManager(Backend.java:411)
jce-janusgraph | at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:50)
jce-janusgraph | at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:161)
jce-janusgraph | at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:132)
jce-janusgraph | at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:112)
jce-janusgraph | ... 18 more
jce-janusgraph | Caused by: java.lang.reflect.InvocationTargetException
jce-janusgraph | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jce-janusgraph | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jce-janusgraph | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jce-janusgraph | at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
jce-janusgraph | at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:58)
jce-janusgraph | ... 24 more
jce-janusgraph | Caused by: java.lang.IllegalArgumentException: Invalid configuration value for [root.storage.cql.ssl.truststore.location]:
jce-janusgraph | at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
jce-janusgraph | at org.janusgraph.diskstorage.configuration.ConfigOption.verify(ConfigOption.java:240)
jce-janusgraph | at org.janusgraph.diskstorage.configuration.ConfigOption.get(ConfigOption.java:232)
jce-janusgraph | at org.janusgraph.diskstorage.configuration.BasicConfiguration.get(BasicConfiguration.java:69)
jce-janusgraph | at org.janusgraph.diskstorage.configuration.Configuration.get(Configuration.java:35)
jce-janusgraph | at org.janusgraph.diskstorage.cql.CQLStoreManager.initializeCluster(CQLStoreManager.java:277)
jce-janusgraph | at org.janusgraph.diskstorage.cql.CQLStoreManager.<init>(CQLStoreManager.java:181)
jce-janusgraph | ... 29 more
jce-janusgraph | 703 [main] INFO org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor - Initialized Gremlin thread pool. Threads in pool named with pattern gremlin-*
jce-janusgraph | 775 [main] INFO org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor - Initialized GremlinExecutor and preparing GremlinScriptEngines instances.
jce-janusgraph | 3661 [gremlin-server-exec-1] ERROR org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager - Could not create GremlinScriptEngine for gremlin-groovy
jce-janusgraph | java.lang.IllegalStateException: javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script1
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.lambda$createGremlinScriptEngine$16(DefaultGremlinScriptEngineManager.java:464)
jce-janusgraph | at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
jce-janusgraph | at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
jce-janusgraph | at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
jce-janusgraph | at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
jce-janusgraph | at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
jce-janusgraph | at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
jce-janusgraph | at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
jce-janusgraph | at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
jce-janusgraph | at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
jce-janusgraph | at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
jce-janusgraph | at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
jce-janusgraph | at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.createGremlinScriptEngine(DefaultGremlinScriptEngineManager.java:450)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.getEngineByName(DefaultGremlinScriptEngineManager.java:219)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.lambda$getEngineByName$0(CachedGremlinScriptEngineManager.java:57)
jce-janusgraph | at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.getEngineByName(CachedGremlinScriptEngineManager.java:57)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:267)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
jce-janusgraph | at java.lang.Thread.run(Thread.java:748)
jce-janusgraph | Caused by: javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script1
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:378)
jce-janusgraph | at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.lambda$createGremlinScriptEngine$16(DefaultGremlinScriptEngineManager.java:460)
jce-janusgraph | ... 24 more
jce-janusgraph | Caused by: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script1
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:697)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:376)
jce-janusgraph | ... 26 more
jce-janusgraph | Caused by: groovy.lang.MissingPropertyException: No such property: graph for class: Script1
jce-janusgraph | at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
jce-janusgraph | at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:51)
jce-janusgraph | at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)
jce-janusgraph | at Script1.run(Script1.groovy:30)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:674)
jce-janusgraph | ... 27 more
jce-janusgraph | 3663 [main] WARN org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor - Could not initialize gremlin-groovy GremlinScriptEngine as init script could not be evaluated
jce-janusgraph | java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: gremlin-groovy is not an available GremlinScriptEngine
jce-janusgraph | at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375)
jce-janusgraph | at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1947)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.lambda$new$4(ServerGremlinExecutor.java:141)
jce-janusgraph | at java.util.LinkedHashMap$LinkedKeySet.forEach(LinkedHashMap.java:559)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:136)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:122)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:86)
jce-janusgraph | at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:345)
jce-janusgraph | Caused by: java.lang.IllegalArgumentException: gremlin-groovy is not an available GremlinScriptEngine
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.registerLookUpInfo(CachedGremlinScriptEngineManager.java:95)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.getEngineByName(CachedGremlinScriptEngineManager.java:58)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:267)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
jce-janusgraph | at java.lang.Thread.run(Thread.java:748)
jce-janusgraph | 3816 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - The org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0 serialization class is deprecated.
jce-janusgraph | 3870 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v3.0+gryo with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0
jce-janusgraph | 3870 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - The org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0 serialization class is deprecated.
jce-janusgraph | 3870 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v3.0+gryo-stringd with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0
jce-janusgraph | 3900 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v3.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
jce-janusgraph | 3905 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
jce-janusgraph | 3909 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - The org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 serialization class is deprecated.
jce-janusgraph | 3911 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0
jce-janusgraph | 3914 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - The org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0 serialization class is deprecated.
jce-janusgraph | 3916 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo-lite with org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0
jce-janusgraph | 3917 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - The org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 serialization class is deprecated.
jce-janusgraph | 3918 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo-stringd with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0
jce-janusgraph | 3919 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - The org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0 serialization class is deprecated.
jce-janusgraph | 3931 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v2.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0
jce-janusgraph | 3936 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - application/json already has org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0 configured - it will not be replaced by org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, change order of serialization configuration if this is not desired.
jce-janusgraph | 3952 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - Configured application/vnd.gremlin-v1.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0
jce-janusgraph | 3954 [main] INFO org.apache.tinkerpop.gremlin.server.AbstractChannelizer - application/json already has org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0 configured - it will not be replaced by org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, change order of serialization configuration if this is not desired.
jce-janusgraph | 4111 [gremlin-server-boss-1] INFO org.apache.tinkerpop.gremlin.server.GremlinServer - Gremlin Server configured with worker thread pool of 1, gremlin pool of 8 and boss thread pool of 1.
jce-janusgraph | 4112 [gremlin-server-boss-1] INFO org.apache.tinkerpop.gremlin.server.GremlinServer - Channel started at port 8182.
jce-janusgraph | 168147 [gremlin-server-exec-2] ERROR org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager - Could not create GremlinScriptEngine for gremlin-groovy
jce-janusgraph | java.lang.IllegalStateException: javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script2
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.lambda$createGremlinScriptEngine$16(DefaultGremlinScriptEngineManager.java:464)
jce-janusgraph | at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
jce-janusgraph | at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
jce-janusgraph | at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
jce-janusgraph | at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
jce-janusgraph | at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
jce-janusgraph | at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
jce-janusgraph | at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
jce-janusgraph | at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
jce-janusgraph | at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
jce-janusgraph | at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
jce-janusgraph | at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
jce-janusgraph | at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.createGremlinScriptEngine(DefaultGremlinScriptEngineManager.java:450)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.getEngineByName(DefaultGremlinScriptEngineManager.java:219)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.lambda$getEngineByName$0(CachedGremlinScriptEngineManager.java:57)
jce-janusgraph | at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.getEngineByName(CachedGremlinScriptEngineManager.java:57)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:267)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
jce-janusgraph | at java.lang.Thread.run(Thread.java:748)
jce-janusgraph | Caused by: javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script2
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:378)
jce-janusgraph | at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.lambda$createGremlinScriptEngine$16(DefaultGremlinScriptEngineManager.java:460)
jce-janusgraph | ... 24 more
jce-janusgraph | Caused by: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script2
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:697)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:376)
jce-janusgraph | ... 26 more
jce-janusgraph | Caused by: groovy.lang.MissingPropertyException: No such property: graph for class: Script2
jce-janusgraph | at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
jce-janusgraph | at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:51)
jce-janusgraph | at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)
jce-janusgraph | at Script2.run(Script2.groovy:30)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:674)
jce-janusgraph | ... 27 more
jce-janusgraph | 168152 [gremlin-server-exec-2] WARN org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor - Exception processing a script on request [RequestMessage{, requestId=7ee95a3f-3ccc-4204-b0a7-30bc853020fe, op='eval', processor='', args={gremlin=g.V()}}].
jce-janusgraph | java.lang.IllegalArgumentException: gremlin-groovy is not an available GremlinScriptEngine
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.registerLookUpInfo(CachedGremlinScriptEngineManager.java:95)
jce-janusgraph | at org.apache.tinkerpop.gremlin.jsr223.CachedGremlinScriptEngineManager.getEngineByName(CachedGremlinScriptEngineManager.java:58)
jce-janusgraph | at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:267)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
jce-janusgraph | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
jce-janusgraph | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
jce-janusgraph | at java.lang.Thread.run(Thread.java:748)
jce-janusgraph | 6/5/20 4:29:27 PM ==============================================================
Connecting JanusGraph to an AWS Keyspace appears to be currently not possible.
In order to connect with an AWS Keyspace SSL communication needs to be enabled. Namely, the following settings need to be configured for JanusGraph:
'storage.cql.ssl.truststore.location=<location>'
'storage.cql.ssl.truststore.password=<truststorepw>'
'storage.cql.ssl.enabled=true'
Unfortunately, even after enabling SSL, JanusGraph throws exceptions on startup (related):
java.lang.IllegalArgumentException: Unrecognized partitioner: com.amazonaws.cassandra.DefaultPartitioner
This appears to be caused by an explicit check for partitioner names in JanusGraphs' CQLStoreManager. So to sum up, AWS Keyspaces use a custom partitioner which is not supported by JanusGraph.