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.
Recent Announcements
Continue the conversation
Join the Discord to ask follow-up questions and connect with the community
AT
Apache TinkerPop
Apache TinkerPop is an open source graph computing framework and the home of the Gremlin graph query language.