JanusGraph 1.0.0, gremlin console getting serializer error - gremlin

I have configured New JanusGraph janusgraph-full-1.0.0-rc1 on centos 7 with janusgraph-cql-es.
But when i am connecting using apache-tinkerpop-gremlin-console-3.4.8/bin/gremlin.sh
it is throwing following exception :
after remote console
> g.V();
WARN org.apache.tinkerpop.gremlin.driver.MessageSerializer - Response [PooledUnsafeDirectByteBuf(ridx: 57, widx: 57, cap: 57)] could not be deserialized by org.apache.tinkerpop.gremlin.driver.ser.AbstractGryoMessageSerializerV3d0.
java.lang.IndexOutOfBoundsException: Index 127 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.get(ArrayList.java:459)
at org.apache.tinkerpop.shaded.kryo.util.MapReferenceResolver.getReadObject(MapReferenceResolver.java:60)
at org.apache.tinkerpop.shaded.kryo.Kryo.readReferenceOrNull(Kryo.java:834)
at org.apache.tinkerpop.shaded.kryo.Kryo.readObject(Kryo.java:684)
at org.apache.tinkerpop.gremlin.driver.ser.AbstractGryoMessageSerializerV3d0.deserializeResponse(AbstractGryoMessageSerializerV3d0.java:157)
And its also throwing error on server
08:40:45 WARN org.apache.tinkerpop.gremlin.server.handler.WsGremlinBinaryRequestDecoder.select - Gremlin Server is not configured with a serializer for the requested mime type [application/vnd.gremlin-v3.0+gryo-stringd] - using org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1 by default
08:40:45 WARN org.apache.tinkerpop.gremlin.server.handler.WsGremlinBinaryRequestDecoder.decode - Serialization error while decoding request
org.apache.tinkerpop.gremlin.driver.ser.SerializationException: The most significant bit should be set according to the format
at org.apache.tinkerpop.gremlin.driver.ser.binary.RequestMessageSerializer.readValue(RequestMessageSerializer.java:45) ~[gremlin-driver-3.6.1.jar:3.6.1]
at org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1.deserializeRequest(GraphBinaryMessageSerializerV1.java:175) ~[gremlin-driver-3.6.1.jar:3.6.1]
at org.apache.tinkerpop.gremlin.server.handler.WsGremlinBinaryRequestDecoder.decode(WsGremlinBinaryRequestDecoder.java:77) ~[gremlin-server-3.6.1.jar:3.6.1]
Need guidance on what is correct config that needs to be done, so that janusgraph works properly and i am able to access data using gremlin console.
Thanks.

Not every JanusGraph version is compatible with every TinkerPop version. The JanusGraph documentation contains a Version Compatibility Matrix which shows the versions of other project that are compatible with a given JanusGraph version. For JanusGraph 1.0, the compatible TinkerPop versions are 3.6.z. This already explains why you are having problems with Gremlin Console in version 3.4.8. Please use a 3.6.z version of Gremlin Console if you want to use JanusGraph 1.0.
Your concrete problem between these two versions is that the Gryo MessageSerializer that you are using with Gremlin Console 3.4.8 is not supported any more in JanusGraph 1.0. This problem should however go away when you use Gremlin Console 3.6 as that also does not use Gryo any more as a message serializer.
Also note that JanusGraph 1.0.0-rc1 is a release candidate for the upcoming 1.0.0 release. This means that this version is not meant to be used in production, but only to try out the upcoming release. You can of course still use it as you like, but you should expect some rough edges.

Related

Warnings about unsupported RETURNING clause in Node SQLite3 client

I'm using a SQLite3 database for tests in Strapi with the node-sqlite3 client. When running the tests, I'm getting the following warnings:
console.log
node-sqlite3 does not currently support RETURNING clause
at Logger._log (node_modules/knex/lib/logger.js:42:13)
Initially, I thought that it is caused by an outdated SQLite version, since RETURNING support was added in SQLite 3.35. However, I've verified that the Node client version that I'm using (5.1.4) includes a newer release of SQLite:
sqlite3#^5.1.4:
version "5.1.4"
resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.1.4.tgz#35f83d368963168b324ad2f0fffce09f3b8723a7"
integrity sha512-i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA==
dependencies:
"#mapbox/node-pre-gyp" "^1.0.0"
node-addon-api "^4.2.0"
tar "^6.1.11"
optionalDependencies:
node-gyp "8.x"
To verify the SQLite version, I've ran the following query:
await strapi.db.connection.context.raw("select sqlite_version()")
As expected, it yields {'sqlite_version()': '3.40.0'}, which should support the RETURNING clause.
For the record, my locally installed version of sqlite3 (3.38.2) also supposedly supports RETURNING, but I can also confirm it is not the source of the issue: the same warnings are also displayed when the tests are ran via Docker, and the local installation does not seem to be used either way based on the sqlite_version() result.
Are these warnings something that I should be worried about, or is it just Knex warning about a possibly unsupported feature?

Having error to fetch k6 when using nebula-bench in NebulaGraph Database

With Nebula Graph Bench v1.0.0, I got the git and compiled k6 by scripts/setup.sh, and the version of k6 I installed was v0.0.7;
After I executed this command (python3 run.py stress run), it reported an error directly, suggesting that it seems to be a version problem; then I got the k6 of v0.0.9 again, ending up with the same error.
Please help me to solve it.
You seemed to use a mismatched version of the NebulaGraph bench to the NebulaGraph database as it's complaining graph client version is incompatible.
Refer to https://github.com/nebula-contrib/NebulaGraph-Bench#dependency on the compatibility matrix to get the correct version of NebulaGraph Bench :).

Telepresence Connection Error - Traffic Manager version unsupported, must be 2.4.5 or higher while it is 2.6.5

I have started to face this problem. While trying to connect, I am facing an error stating that my traffic-manager version is 2.1.5 and it should be at least 2.4.5.
"telepresence connect" command checks for new versions and modifies it if there is any new version exists. So I am thinking that started to create a problem. Because I was using it as normal.
When I check the connector.log file these two lines create the problem.
connector/session : Existing Traffic Manager 2.6.5 not owned by cli or does not need upgrade, will not modify
connector/session : failed to connect to root daemon: rpc error: code = Unknown desc = unsupported traffic-manager version 2.1.5. Minimum supported version is 2.4.5
So somehow I have two versions now while checking for the update it hits 2.6.5 but while trying to run it tries with 2.1.5. Trying to uninstall telepresence but it also faces the same problem and I couldn't locate and delete traffic-manager 2.1.5. My OS is Windows 11.
Because of that, I am kind of blocked with my tests. Any help will be well appreciated. Thanks!
After asking the question, a new version arrived, if anyone encountered this problem, please update telepresence to 2.6.6. It is fixed now.

Gremlin Console for Windows error "The most significant bit.."

Seems like Gremlin Console not working for Windows:
I downloaded the latest Gremlin console and run the bin\gremlin.bat file. seems like after connecting (as in the below commands) and running a simple remote command (g.V(123).count()) I'm getting an error:
The most significant bit should be set according to the format
This is the commands I run:
PS C:\Users\L836423\Downloads\apache-tinkerpop-gremlin-console-3.4.7-bin\apache-tinkerpop-gremlin-console-3.4.7\bin> .\gremlin.bat
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph
gremlin> :remote connect tinkerpop.server conf/remote.yaml
log4j:WARN No appenders could be found for logger (com.jcabi.manifests.Manifests).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
==>Configured my_gremlin_dns.com/55.222.88.111:8182
gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - [my_gremlin_dns.com/55.222.88.111:8182] - type ':remote console' to return to local mode
gremlin> g.V(123).count()
The most significant bit should be set according to the format
Type ':help' or ':h' for help.
Display stack trace? [yN]
gremlin>
This happens when the server you are connecting to does not support the string serialization of Graph Binary used by newer versions of TinkerPop. You will need to use an older client. Find out what level the server supports and use the corresponding Gremlin Client version.
Specifically, the change went into the Gremlin Client as part of the 3.4.3 release. Your server needs to be at least at that version to use a Gremlin Client >= 3.4.3
With 3.4.3 the default serializer for the Gremlin Client was changed to be GraphBinary. It is possible you could also edit the settings in the YAML file read by the client to use a different serializer.

DSE 6.7 - Error With DSE Driver When SOLR is Enabled

I'm currently working through getting an old project up and running again - it uses both DSE Search and DSE Graph. I don't have too much experience with DSE, but right now I've created one keyspace for the regular cassandra db (searchable) and I've created a graph on the same server using the gremlin console.
The back-end is written in node.js and uses the dse-driver to get data from the DSE server.
When I run the cassandra server with the -g flag, the dse-driver runs fine, does exactly what I want it to do, but obviously, none of my search functionality works.
When I run the cassandra server with the -g and -s flags, my search functionality works, but then I receive errors whenever the backend tries to use the dse-driver to get data from the graph using the executeGraph function.
Is this something that can be fixed or do I need to create more nodes/clusters? I'm really new to DSE so your help is appreciated.
Error: com.google.common.util.concurrent.UncheckedExecutionException: com.google.inject.ProvisionException: Unable to provision, see the following errors:\n\n1) Error injecting constructor, com.datastax.bdp.gcore.datastore.DataStoreException: Failed to execute statement40f07a96-98bf-490c-a738-6c9d0021afba\n at com.datastax.bdp.graph.impl.DseGraphImpl.<init>(DseGraphImpl.java:192)\n at com.datastax.bdp.graph.impl.GraphModule.configure(Unknown Source) (via modules: com.datastax.bdp.graph.impl.DseGraphFactoryImpl$$Lambda$1580/1437671705 -> com.google.inject.util.Modules$OverrideModule -> com.datastax.bdp.graph.impl.GraphModule)\n while locating com.datastax.bdp.graph.impl.DseGraphImpl\n\n1 error\n

Resources