Exception while creating vertex with custom vertex id


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


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


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 ? 

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


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


On Sat, Jan 29, 2022 at 06:07 PM, Umesh Gade wrote:
set-vertex-id


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
    }


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");
}
});


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))




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


hadoopmarc@...
 

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


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
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 ?