Gremlin Query timeout issue

My setup contains Janusgraph 1.0.0 with cassandra as a backend. I am trying to create an edge between two vertices, where one of the vertex contains more than 450K edges. But everytime the operation fails with Query Timeout error as shown below:
Caused by: com.datastax.oss.driver.api.core.DriverTimeoutException: Query timed out after PT12S
at com.datastax.oss.driver.internal.core.cql.CqlRequestHandler.lambda$scheduleTimeout$1(CqlRequestHandler.java:207)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:715)
at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:703)
at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:790)
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:503)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
Caused by: com.datastax.oss.driver.api.core.DriverTimeoutException: Query timed out after PT12S
at com.datastax.oss.driver.internal.core.cql.CqlRequestHandler.lambda$scheduleTimeout$1(CqlRequestHandler.java:207)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:715)
at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:703)
at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:790)
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:503)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
We went through the documentation and found that we can increase the threshold by increasing the default value for "storage.cql.request-timeout". But what if my edge count exceeds even beyond 800K?, I cannot keep increasing the threshold forever. My understanding is, as it is trying to create a lock on the edges to create another edge, is there any other better way to do it? that is, something like lazy loading where the graph do not query the entire edges and just create the new one instead.
1 Reply
Kennh
Kennh6d ago
This seems to be a JanusGraph-specific question. You might want to try the JanusGraph Discord for this. Anyone with @janusgraph knowledge able to help with this?

Did you find this page helpful?