Date
1 - 7 of 7
Exception while creating vertex with custom vertex id
Umesh Gade
Hi all,
We faced below exception while creating vertex with custom vertex id. Issue did not reproduce steadily. Setup configuration is JG-0.6.0 + cassadra-4.0 in 3 node-single DC cluster
We faced below exception while creating vertex with custom vertex id. Issue did not reproduce steadily. Setup configuration is JG-0.6.0 + cassadra-4.0 in 3 node-single DC cluster
java.lang.NullPointerException: null
at org.janusgraph.graphdb.types.VertexLabelVertex.isPartitioned(VertexLabelVertex.java:41) ~[janusgraph-core-0.6.0.jar:?]
at org.janusgraph.graphdb.types.VertexLabelVertex.hasDefaultConfiguration(VertexLabelVertex.java:67) ~[janusgraph-core-0.6.0.jar:?]
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.addVertex(StandardJanusGraphTx.java:579) ~[janusgraph-core-0.6.0.jar:?]
at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsTransaction.addVertex(JanusGraphBlueprintsTransaction.java:127) ~[janusgraph-core-0.6.0.jar:?]
at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.addVertex(JanusGraphBlueprintsGraph.java:143) ~[janusgraph-core-0.6.0.jar:?]
Any pointer to debug further ?
Any pointer to debug further ?
Umesh Gade
Hi Marc,
Graph config is as below
"configuration" : {
"attributes.custom.attribute1.attribute-class" : "java.util.HashMap",
"attributes.custom.attribute1.serializer-class" : "com.vrts.itrp.graph.serializers.HashMapSerializer",
"attributes.custom.attribute2.attribute-class" : "java.util.HashSet",
"attributes.custom.attribute2.serializer-class" : "com.vrts.itrp.graph.serializers.HashSetSerializer",
"attributes.custom.attribute3.attribute-class" : "java.util.ArrayList",
"attributes.custom.attribute3.serializer-class" : "com.vrts.itrp.graph.serializers.ArrayListSerializer",
"attributes.custom.attribute4.attribute-class" : "java.util.LinkedHashMap",
"attributes.custom.attribute4.serializer-class" : "com.vrts.itrp.graph.serializers.LinkedHashMapSerializer",
"attributes.custom.attribute5.attribute-class" : "java.util.LinkedList",
"attributes.custom.attribute5.serializer-class" : "com.vrts.itrp.graph.serializers.LinkedListSerializer",
"attributes.custom.attribute6.attribute-class" : "java.util.LinkedHashSet",
"attributes.custom.attribute6.serializer-class" : "com.vrts.itrp.graph.serializers.LinkedHashSetSerializer",
"query.optimizer-backend-access" : false,
"storage.cql.executor-service.enabled" : false,
"storage.backend" : "cql",
"storage.cql.read-consistency-level" : "LOCAL_QUORUM",
"storage.cql.write-consistency-level" : "LOCAL_QUORUM",
"storage.read-only" : false,
"storage.cql.only-use-local-consistency-for-system-operations" : false,
"log.tx.key-consistent" : false,
"storage.hostname" : "localhost",
"storage.port" : 9042,
"storage.cql.keyspace" : "xxx_ks",
"storage.cql.local-datacenter" : "dc1",
"storage.cql.atomic-batch-mutate" : false,
"storage.lock.retries" : 20,
"query.fast-property" : false,
"query.force-index" : true,
"graph.set-vertex-id" : true
}
"attributes.custom.attribute1.attribute-class" : "java.util.HashMap",
"attributes.custom.attribute1.serializer-class" : "com.vrts.itrp.graph.serializers.HashMapSerializer",
"attributes.custom.attribute2.attribute-class" : "java.util.HashSet",
"attributes.custom.attribute2.serializer-class" : "com.vrts.itrp.graph.serializers.HashSetSerializer",
"attributes.custom.attribute3.attribute-class" : "java.util.ArrayList",
"attributes.custom.attribute3.serializer-class" : "com.vrts.itrp.graph.serializers.ArrayListSerializer",
"attributes.custom.attribute4.attribute-class" : "java.util.LinkedHashMap",
"attributes.custom.attribute4.serializer-class" : "com.vrts.itrp.graph.serializers.LinkedHashMapSerializer",
"attributes.custom.attribute5.attribute-class" : "java.util.LinkedList",
"attributes.custom.attribute5.serializer-class" : "com.vrts.itrp.graph.serializers.LinkedListSerializer",
"attributes.custom.attribute6.attribute-class" : "java.util.LinkedHashSet",
"attributes.custom.attribute6.serializer-class" : "com.vrts.itrp.graph.serializers.LinkedHashSetSerializer",
"query.optimizer-backend-access" : false,
"storage.cql.executor-service.enabled" : false,
"storage.backend" : "cql",
"storage.cql.read-consistency-level" : "LOCAL_QUORUM",
"storage.cql.write-consistency-level" : "LOCAL_QUORUM",
"storage.read-only" : false,
"storage.cql.only-use-local-consistency-for-system-operations" : false,
"log.tx.key-consistent" : false,
"storage.hostname" : "localhost",
"storage.port" : 9042,
"storage.cql.keyspace" : "xxx_ks",
"storage.cql.local-datacenter" : "dc1",
"storage.cql.atomic-batch-mutate" : false,
"storage.lock.retries" : 20,
"query.fast-property" : false,
"query.force-index" : true,
"graph.set-vertex-id" : true
}
Code snippet which creates vertex labels:
graph.tx().rollback();
JanusGraphManagement janusMgmt = graph.openManagement();
labels.forEach(l -> {
VertexLabel vl = janusMgmt.getVertexLabel(l);
if(vl==null) {
logger.info("Creating vertex label " + l);
janusMgmt.makeVertexLabel(l).make();
}
else {
logger.info("Vertex label " + l + " already exists");
}
});
JanusGraphManagement janusMgmt = graph.openManagement();
labels.forEach(l -> {
VertexLabel vl = janusMgmt.getVertexLabel(l);
if(vl==null) {
logger.info("Creating vertex label " + l);
janusMgmt.makeVertexLabel(l).make();
}
else {
logger.info("Vertex label " + l + " already exists");
}
});
Further update on issue:
- We have continuous retries in our code on exception. This issue was gone when we brought down 3 node cluster to 1 node cluster.
- I see below warning logs around the same time.
2022-01-13 15:18:17,042+05:30 WARN com.datastax.oss.driver.internal.core.pool.ChannelPool [JanusGraph Session-admin-7] - [JanusGraph Session|/10.221.187.3:9042] Error while opening new channel (ConnectionInitException: [JanusGraph Session|connecting...] Protocol initialization request, step 1 (STARTUP {CQL_VERSION=3.0.0, DRIVER_NAME=DataStax Java driver for Apache Cassandra(R), DRIVER_VERSION=4.13.0, CLIENT_ID=73988c72-3e8e-426b-b3cd-f6d7893a9f04}): failed to send request (io.netty.channel.StacklessClosedChannelException))
2022-01-13 15:18:31,174+05:30 WARN com.datastax.oss.driver.internal.core.pool.ChannelPool [JanusGraph Session-admin-7] - [JanusGraph Session|/10.221.187.3:9042] Error while opening new channel (ConnectionInitException: [JanusGraph Session|connecting...] Protocol initialization request, step 1 (STARTUP {CQL_VERSION=3.0.0, DRIVER_NAME=DataStax Java driver for Apache Cassandra(R), DRIVER_VERSION=4.13.0, CLIENT_ID=cb5b14df-85bf-4b90-b48b-be8fdac2404e}): failed to send request (java.nio.channels.NotYetConnectedException))
2022-01-13 15:18:31,174+05:30 WARN com.datastax.oss.driver.internal.core.pool.ChannelPool [JanusGraph Session-admin-7] - [JanusGraph Session|/10.221.187.3:9042] Error while opening new channel (ConnectionInitException: [JanusGraph Session|connecting...] Protocol initialization request, step 1 (STARTUP {CQL_VERSION=3.0.0, DRIVER_NAME=DataStax Java driver for Apache Cassandra(R), DRIVER_VERSION=4.13.0, CLIENT_ID=cb5b14df-85bf-4b90-b48b-be8fdac2404e}): failed to send request (java.nio.channels.NotYetConnectedException))
On Sat, Jan 29, 2022 at 3:51 PM <hadoopmarc@...> wrote:
Hi Umesh,
Can you please add the graph properties (configs) and the statements for creating the vertex labels in the graph schema (if any)?
Cheers, Marc
--
Sincerely,
Umesh Gade
Umesh Gade
hadoopmarc@...
Hi Umesh,
On the first line of your first post you state that you use cassandra-4.0. However, support for cassandra-4.0 is still an open issue:
https://github.com/JanusGraph/janusgraph/issues/2325
https://docs.janusgraph.org/changelog/#version-compatibility-matrix
It is confusing, indeed, that the driver version is 4.13.0, but this is correct, see:
https://github.com/JanusGraph/janusgraph/blob/v0.6.1/pom.xml
Best wishes, Marc
toggle quoted message
Show quoted text
On the first line of your first post you state that you use cassandra-4.0. However, support for cassandra-4.0 is still an open issue:
https://github.com/JanusGraph/janusgraph/issues/2325
https://docs.janusgraph.org/changelog/#version-compatibility-matrix
It is confusing, indeed, that the driver version is 4.13.0, but this is correct, see:
https://github.com/JanusGraph/janusgraph/blob/v0.6.1/pom.xml
Best wishes, Marc
On Sat, Jan 29, 2022 at 06:07 PM, Umesh Gade wrote:
set-vertex-id
Umesh Gade
Hi Marc,
Yes, we are aware of the compatibility matrix. We are keeping an eye on issues with JG-0.6.0 + Cassandra-4.0. This combination has been running for the last 3-4 months without any issues for our use cases.
Is the above issue surely to be a compatibility issue ?
Is the above issue surely to be a compatibility issue ?
On Sun, Jan 30, 2022 at 3:00 PM <hadoopmarc@...> wrote:
Hi Umesh,
On the first line of your first post you state that you use cassandra-4.0. However, support for cassandra-4.0 is still an open issue:
https://github.com/JanusGraph/janusgraph/issues/2325
https://docs.janusgraph.org/changelog/#version-compatibility-matrix
It is confusing, indeed, that the driver version is 4.13.0, but this is correct, see:
https://github.com/JanusGraph/janusgraph/blob/v0.6.1/pom.xml
Best wishes, Marc
On Sat, Jan 29, 2022 at 06:07 PM, Umesh Gade wrote:
set-vertex-id
--
Sincerely,
Umesh Gade
Umesh Gade
hadoopmarc@...
Hi Umesh,
No, it is not clear at all whether the issue and cassandra-4.0 are related, but generally it is not useful to report bugs regarding unsupported configurations. To dig deeper, I would be curious about:
- can you log the vertex id and label for the transactions that fail and can you make another transaction fail with these values?
- the stracktrace suggests that the issue is in querying the graph schema. Can you trigger the exception by manually querying the graph schema for the vertex labels involved?
Best wishes, Marc
No, it is not clear at all whether the issue and cassandra-4.0 are related, but generally it is not useful to report bugs regarding unsupported configurations. To dig deeper, I would be curious about:
- can you log the vertex id and label for the transactions that fail and can you make another transaction fail with these values?
- the stracktrace suggests that the issue is in querying the graph schema. Can you trigger the exception by manually querying the graph schema for the vertex labels involved?
Best wishes, Marc
Umesh Gade
Thanks Marc for the pointers to check further.
The Issue was not reproduced when we brought the setup again to 3 node cluster configuration. I will keep watching and collect more details if this issue hits again.
On Mon, Jan 31, 2022 at 2:04 PM <hadoopmarc@...> wrote:
Hi Umesh,
No, it is not clear at all whether the issue and cassandra-4.0 are related, but generally it is not useful to report bugs regarding unsupported configurations. To dig deeper, I would be curious about:
- can you log the vertex id and label for the transactions that fail and can you make another transaction fail with these values?
- the stracktrace suggests that the issue is in querying the graph schema. Can you trigger the exception by manually querying the graph schema for the vertex labels involved?
Best wishes, Marc
--
Sincerely,
Umesh Gade
Umesh Gade