I am using Janusgraph 0.6.3 with Cassandra as the primary backend (composite index) and elastic search as the secondary backend (mixed index).
I have Janus and Cassandra installed on a machine with below specs
CPU: 32 core
RAM: 128 GB
SSD: 500 GB
I am running the below gremlin query on this graph,
g.V().hasLabel("seeker").has("p_uuid", seeker_p_uuid).outE("worked").as_("e1").inV().inE("worked").as_("e2")\
.outV().as_("b").outE("worked").where(inV().hasLabel("company").has("company_name", recruiter_name)).has("current", 1)\
.where("e1", lt("e2")).by("start_date").by("end_date").where("e1", gt("e2")).by("end_date").by("start_date")\
.select("e1", "e2", "b").range_(0,10).toList()
and for some cases, this query returns Graph Timeout Error
.
I have monitoring the Janus and Cassandra machine and it's CPU and RAM are not being completely utilized. They are at 20-30% CPU utilization and 15-20% RAM Utilization.
My question is, if the CPU is left unutilised, then why does the query give Timeout Exception
. Shouldn't the CPU must have been used about 60-70% atleast ?
I am using both Composite
and Mixed index
to make the query more faster.