Date
1 - 3 of 3
Gremlin-Python in JanusGraph
john....@...
Gentlemen and Ladies,
I am not actually using gremlin-jython, so I did make sure to remove the gremlin-jython references from both files and test them as well. The results are the same. My best guess is that there is an API for the plugins of gremlin-jython and gremlin-python that is not matching up with JanusGraph properly, but it is unclear how to fix this. Would anyone have any ideas?
Thank you for your help with the previous difficulties that we have been having in configuring our system. We have recently gotten JanusGraph running in Server mode with HBase, and it is working correctly. However, we have recently tried to add gremlin-python access to the server, so that we can work with it via a python client.
We are following the instructions on this page, which we have established work correctly when interfacing with GremlinServer running TinkerGraph: http://tinkerpop.apache.org/docs/current/reference/#gremlin-python
The problem is that when running starting the JanusGraph server referencing the following file:
host: localhostport: 8182threadPoolWorker: 1gremlinPool: 8scriptEvaluationTimeout: 30000graphs: { graph: conf/tinkergraph-empty.properties}scriptEngines: { gremlin-groovy: { plugins: { org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {}, org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {}, org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]}, org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/generate-modern.groovy]}}}, gremlin-jython: {}, gremlin-python: {}}serializers: - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+gryo - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+gryo-lite - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }} # application/vnd.gremlin-v1.0+gryo-stringd - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+json - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV2d0] }} # application/vnd.gremlin-v2.0+json - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0] }} # application/jsonmetrics: { slf4jReporter: {enabled: true, interval: 180000}}strictTransactionManagement: falsethreadPoolBoss: 1maxInitialLineLength: 4096maxHeaderSize: 8192maxChunkSize: 8192maxContentLength: 65536maxAccumulationBufferComponents: 1024resultIterationBatchSize: 64
or this file:
host: localhost
port: 8182
scriptEvaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphs: {
graph: conf/gremlin-server/janusgraph-hbase-server.properties}
plugins:
- janusgraph.imports
scriptEngines: {
gremlin-groovy: {
imports: [java.lang.Math],
staticImports: [java.lang.Math.PI],
scripts: [scripts/empty-sample.groovy]},
gremlin-jython: {},
gremlin-jython: {},
gremlin-python: {}}
serializers:
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { bufferSize: 8192, ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: {ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
processors:
- { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
- { className: org.apache.tinkerpop.gremlin.server.op.traversal.TraversalOpProcessor, config: { cacheExpirationTime: 600000, cacheMaxSize: 1000 }}
metrics: {
consoleReporter: {enabled: true, interval: 180000},
csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
jmxReporter: {enabled: true},
slf4jReporter: {enabled: true, interval: 180000},
gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
graphiteReporter: {enabled: false, interval: 180000}}
maxInitialLineLength: 4096
maxHeaderSize: 8192
maxChunkSize: 8192
maxContentLength: 65536
maxAccumulationBufferComponents: 1024
resultIterationBatchSize: 64
writeBufferLowWaterMark: 32768
writeBufferHighWaterMark: 65536
ssl: {
enabled: false}
They give this error:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.tinkerpop.gremlin.python.jsr223.GremlinJythonScriptEngine.<init>(GremlinJythonScriptEngine.java:86) at org.apache.tinkerpop.gremlin.python.jsr223.GremlinJythonScriptEngineFactory.getScriptEngine(GremlinJythonScriptEngineFactory.java:110) at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.createGremlinScriptEngine(DefaultGremlinScriptEngineManager.java:420) at org.apache.tinkerpop.gremlin.jsr223.DefaultGremlinScriptEngineManager.getEngineByName(DefaultGremlinScriptEngineManager.java:215) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.createScriptEngine(ScriptEngines.java:424) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.reload(ScriptEngines.java:187) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$createScriptEngines$11(GremlinExecutor.java:408) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.<init>(ScriptEngines.java:92) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.createScriptEngines(GremlinExecutor.java:404) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.<init>(GremlinExecutor.java:110) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.<init>(GremlinExecutor.java:74) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor$Builder.create(GremlinExecutor.java:651) at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:136) at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:83) at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:110) at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:344)
I am not actually using gremlin-jython, so I did make sure to remove the gremlin-jython references from both files and test them as well. The results are the same. My best guess is that there is an API for the plugins of gremlin-jython and gremlin-python that is not matching up with JanusGraph properly, but it is unclear how to fix this. Would anyone have any ideas?
Note, I can connect to the gremlin server in python using gremlinclient, and I can send commands to the server using the standard gremlin console as a client, so the server is operational.
Gremlin-python is considerably easier to develop in and preferable, so does anyone know how to fix this? Thank you for all your help!
Jason Plurad <plu...@...>
Hi John, you probably installed the wrong version of gremlin-python plugin. If you're using JanusGraph 0.1.1, the TinkerPop version is 3.2.3. If you're building master from source, it has TinkerPop 3.2.5 now.
Try this:
-- Jason
Try this:
cd janusgraph-0.1.1-hadoop2
rm -rf ext/gremlin-python/
bin/gremlin-server.sh -i org.apache.tinkerpop gremlin-python 3.2.3
-- Jason
On Thursday, July 6, 2017 at 7:45:21 PM UTC-4, john.helmsen wrote:
Gentlemen and Ladies,Thank you for your help with the previous difficulties that we have been having in configuring our system. We have recently gotten JanusGraph running in Server mode with HBase, and it is working correctly. However, we have recently tried to add gremlin-python access to the server, so that we can work with it via a python client.We are following the instructions on this page, which we have established work correctly when interfacing with GremlinServer running TinkerGraph: http://tinkerpop.apache.org/docs/current/ reference/#gremlin-python The problem is that when running starting the JanusGraph server referencing the following file:
host: localhostport: 8182threadPoolWorker: 1gremlinPool: 8scriptEvaluationTimeout: 30000graphs: {graph: conf/tinkergraph-empty.properties} scriptEngines: {gremlin-groovy: {plugins: { org.apache.tinkerpop.gremlin.server.jsr223. GremlinServerGremlinPl ugin: {},org.apache.tinkerpop.gremlin.tinkergraph.jsr223. TinkerGraphGremli nPlugin: {},org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classIm ports: [java.lang.Math], methodImports: [java.lang.Math#*]},org.apache.tinkerpop.gremlin.jsr223. ScriptFileGremlinPlugin: {fil es: [scripts/generate-modern.groovy]}}}, gremlin-jython: {},gremlin-python: {}}serializers:- { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1 d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure. TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+gryo - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoLiteMessageSerializ erV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.struct ure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+gryo-lite - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1 d0, config: { serializeResultToString: true }} # application/vnd.gremlin-v1.0+gryo-stringd- { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializ erGremlinV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph .structure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+ json - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializ erGremlinV2d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph .structure.TinkerIoRegistryV2d0] }} # application/vnd.gremlin-v2.0+ json - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializ erV3d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.struct ure.TinkerIoRegistryV1d0] }} # application/jsonmetrics: {slf4jReporter: {enabled: true, interval: 180000}}strictTransactionManagement: falsethreadPoolBoss: 1maxInitialLineLength: 4096maxHeaderSize: 8192maxChunkSize: 8192maxContentLength: 65536maxAccumulationBufferComponents: 1024 resultIterationBatchSize: 64or this file:
host: localhostport: 8182scriptEvaluationTimeout: 30000channelizer: org.apache.tinkerpop.gremlin.server.channel. WebSocketChannelizer graphs: {graph: conf/gremlin-server/janusgraph-hbase-server. properties} plugins:- janusgraph.importsscriptEngines: {gremlin-groovy: {imports: [java.lang.Math],staticImports: [java.lang.Math.PI],scripts: [scripts/empty-sample.groovy]},
gremlin-jython: {},gremlin-python: {}}serializers:- { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1d0, config: { bufferSize: 8192, ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoLiteMessageSerializerV1d0, config: {ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1d0, config: { serializeResultToString: true }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializerGreml inV1d0, config: { ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializerGreml inV2d0, config: { ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} processors:- { className: org.apache.tinkerpop.gremlin.server.op.session. SessionOpProcessor, config: { sessionTimeout: 28800000 }} - { className: org.apache.tinkerpop.gremlin.server.op.traversal. TraversalOpProcessor, config: { cacheExpirationTime: 600000, cacheMaxSize: 1000 }} metrics: {consoleReporter: {enabled: true, interval: 180000},csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv}, jmxReporter: {enabled: true},slf4jReporter: {enabled: true, interval: 180000},gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},graphiteReporter: {enabled: false, interval: 180000}}maxInitialLineLength: 4096maxHeaderSize: 8192maxChunkSize: 8192maxContentLength: 65536maxAccumulationBufferComponents: 1024 resultIterationBatchSize: 64writeBufferLowWaterMark: 32768writeBufferHighWaterMark: 65536ssl: {enabled: false}They give this error:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java: 763) at java.security.SecureClassLoader.defineClass( SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader. java:467) at java.net.URLClassLoader.access$100(URLClassLoader. java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged( Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java: 361) at java.lang.ClassLoader.loadClass(ClassLoader.java: 424) at sun.misc.Launcher$AppClassLoader.loadClass( Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java: 357) at org.apache.tinkerpop.gremlin.python.jsr223. GremlinJythonScriptEngine.< init>( GremlinJythonScriptEngine. java:86) at org.apache.tinkerpop.gremlin.python.jsr223. GremlinJythonScriptEngineFacto ry.getScriptEngine( GremlinJythonScriptEngineFacto ry.java:110) at org.apache.tinkerpop.gremlin.jsr223. DefaultGremlinScriptEngineMana ger.createGremlinScriptEngine( DefaultGremlinScriptEngineMana ger.java:420) at org.apache.tinkerpop.gremlin.jsr223. DefaultGremlinScriptEngineMana ger.getEngineByName( DefaultGremlinScriptEngineMana ger.java:215) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines. createScriptEngine( ScriptEngines.java:424) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines. reload(ScriptEngines.java:187) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. lambda$createScriptEngines$11( GremlinExecutor.java:408) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.< init>(ScriptEngines.java:92) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. createScriptEngines( GremlinExecutor.java:404) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. <init>(GremlinExecutor.java: 110) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. <init>(GremlinExecutor.java: 74) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor$ Builder.create( GremlinExecutor.java:651) at org.apache.tinkerpop.gremlin.server.util. ServerGremlinExecutor.<init>( ServerGremlinExecutor.java: 136) at org.apache.tinkerpop.gremlin.server.util. ServerGremlinExecutor.<init>( ServerGremlinExecutor.java:83) at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>( GremlinServer.java:110) at org.apache.tinkerpop.gremlin.server.GremlinServer.main( GremlinServer.java:344)
I am not actually using gremlin-jython, so I did make sure to remove the gremlin-jython references from both files and test them as well. The results are the same. My best guess is that there is an API for the plugins of gremlin-jython and gremlin-python that is not matching up with JanusGraph properly, but it is unclear how to fix this. Would anyone have any ideas?Note, I can connect to the gremlin server in python using gremlinclient, and I can send commands to the server using the standard gremlin console as a client, so the server is operational.Gremlin-python is considerably easier to develop in and preferable, so does anyone know how to fix this? Thank you for all your help!
john....@...
Thank you Jason, that fixed the problem!
On Thursday, July 6, 2017 at 11:29:40 PM UTC-4, Jason Plurad wrote:
Hi John, you probably installed the wrong version of gremlin-python plugin. If you're using JanusGraph 0.1.1, the TinkerPop version is 3.2.3. If you're building master from source, it has TinkerPop 3.2.5 now.
Try this:
cd janusgraph-0.1.1-hadoop2
rm -rf ext/gremlin-python/
bin/gremlin-server.sh -i org.apache.tinkerpop gremlin-python 3.2.3
-- Jason
On Thursday, July 6, 2017 at 7:45:21 PM UTC-4, john.helmsen wrote:Gentlemen and Ladies,Thank you for your help with the previous difficulties that we have been having in configuring our system. We have recently gotten JanusGraph running in Server mode with HBase, and it is working correctly. However, we have recently tried to add gremlin-python access to the server, so that we can work with it via a python client.We are following the instructions on this page, which we have established work correctly when interfacing with GremlinServer running TinkerGraph: http://tinkerpop.apache.org/docs/current/ reference/#gremlin-python The problem is that when running starting the JanusGraph server referencing the following file:
host: localhostport: 8182threadPoolWorker: 1gremlinPool: 8scriptEvaluationTimeout: 30000graphs: {graph: conf/tinkergraph-empty.properties} scriptEngines: {gremlin-groovy: {plugins: { org.apache.tinkerpop.gremlin.server.jsr223. GremlinServerGremlinPl ugin: {},org.apache.tinkerpop.gremlin.tinkergraph.jsr223. TinkerGraphGremli nPlugin: {},org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classIm ports: [java.lang.Math], methodImports: [java.lang.Math#*]},org.apache.tinkerpop.gremlin.jsr223. ScriptFileGremlinPlugin: {fil es: [scripts/generate-modern.groovy]}}}, gremlin-jython: {},gremlin-python: {}}serializers:- { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1 d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure. TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+gryo - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoLiteMessageSerializ erV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.struct ure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+gryo-lite - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1 d0, config: { serializeResultToString: true }} # application/vnd.gremlin-v1.0+gryo-stringd- { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializ erGremlinV1d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph .structure.TinkerIoRegistryV1d0] }} # application/vnd.gremlin-v1.0+ json - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializ erGremlinV2d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph .structure.TinkerIoRegistryV2d0] }} # application/vnd.gremlin-v2.0+ json - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializ erV3d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.struct ure.TinkerIoRegistryV1d0] }} # application/jsonmetrics: {slf4jReporter: {enabled: true, interval: 180000}}strictTransactionManagement: falsethreadPoolBoss: 1maxInitialLineLength: 4096maxHeaderSize: 8192maxChunkSize: 8192maxContentLength: 65536maxAccumulationBufferComponents: 1024 resultIterationBatchSize: 64or this file:
host: localhostport: 8182scriptEvaluationTimeout: 30000channelizer: org.apache.tinkerpop.gremlin.server.channel. WebSocketChannelizer graphs: {graph: conf/gremlin-server/janusgraph-hbase-server. properties} plugins:- janusgraph.importsscriptEngines: {gremlin-groovy: {imports: [java.lang.Math],staticImports: [java.lang.Math.PI],scripts: [scripts/empty-sample.groovy]},
gremlin-jython: {},gremlin-python: {}}serializers:- { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1d0, config: { bufferSize: 8192, ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoLiteMessageSerializerV1d0, config: {ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GryoMessageSerializerV1d0, config: { serializeResultToString: true }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializerGreml inV1d0, config: { ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializerGreml inV2d0, config: { ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} - { className: org.apache.tinkerpop.gremlin.driver.ser. GraphSONMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb. tinkerpop. JanusGraphIoRegistry] }} processors:- { className: org.apache.tinkerpop.gremlin.server.op.session. SessionOpProcessor, config: { sessionTimeout: 28800000 }} - { className: org.apache.tinkerpop.gremlin.server.op.traversal. TraversalOpProcessor, config: { cacheExpirationTime: 600000, cacheMaxSize: 1000 }} metrics: {consoleReporter: {enabled: true, interval: 180000},csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv}, jmxReporter: {enabled: true},slf4jReporter: {enabled: true, interval: 180000},gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},graphiteReporter: {enabled: false, interval: 180000}}maxInitialLineLength: 4096maxHeaderSize: 8192maxChunkSize: 8192maxContentLength: 65536maxAccumulationBufferComponents: 1024 resultIterationBatchSize: 64writeBufferLowWaterMark: 32768writeBufferHighWaterMark: 65536ssl: {enabled: false}They give this error:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java: 763) at java.security.SecureClassLoader.defineClass( SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader. java:467) at java.net.URLClassLoader.access$100(URLClassLoader. java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged( Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java: 361) at java.lang.ClassLoader.loadClass(ClassLoader.java: 424) at sun.misc.Launcher$AppClassLoader.loadClass( Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java: 357) at org.apache.tinkerpop.gremlin.python.jsr223. GremlinJythonScriptEngine.< init>( GremlinJythonScriptEngine. java:86) at org.apache.tinkerpop.gremlin.python.jsr223. GremlinJythonScriptEngineFacto ry.getScriptEngine( GremlinJythonScriptEngineFacto ry.java:110) at org.apache.tinkerpop.gremlin.jsr223. DefaultGremlinScriptEngineMana ger.createGremlinScriptEngine( DefaultGremlinScriptEngineMana ger.java:420) at org.apache.tinkerpop.gremlin.jsr223. DefaultGremlinScriptEngineMana ger.getEngineByName( DefaultGremlinScriptEngineMana ger.java:215) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines. createScriptEngine( ScriptEngines.java:424) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines. reload(ScriptEngines.java:187) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. lambda$createScriptEngines$11( GremlinExecutor.java:408) at org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines.< init>(ScriptEngines.java:92) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. createScriptEngines( GremlinExecutor.java:404) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. <init>(GremlinExecutor.java: 110) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor. <init>(GremlinExecutor.java: 74) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor$ Builder.create( GremlinExecutor.java:651) at org.apache.tinkerpop.gremlin.server.util. ServerGremlinExecutor.<init>( ServerGremlinExecutor.java: 136) at org.apache.tinkerpop.gremlin.server.util. ServerGremlinExecutor.<init>( ServerGremlinExecutor.java:83) at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>( GremlinServer.java:110) at org.apache.tinkerpop.gremlin.server.GremlinServer.main( GremlinServer.java:344)
I am not actually using gremlin-jython, so I did make sure to remove the gremlin-jython references from both files and test them as well. The results are the same. My best guess is that there is an API for the plugins of gremlin-jython and gremlin-python that is not matching up with JanusGraph properly, but it is unclear how to fix this. Would anyone have any ideas?Note, I can connect to the gremlin server in python using gremlinclient, and I can send commands to the server using the standard gremlin console as a client, so the server is operational.Gremlin-python is considerably easier to develop in and preferable, so does anyone know how to fix this? Thank you for all your help!