ScriptEvaluation Timeout error
I am running janusgraph as a container with cassandra as external backend. We are doing some performance test. We are getting some qps drop and latency in response if ran at >700qps. However when we drop the script evaluation time (in gremlin-server.yaml) to 30ms from 30 sec, there is no qps drop but still warnings for script evaluation timeout. So, does anyone knows what script evaluation does. Below is the warning we are getting in logs. Thanks.
1561485 [gremlin-server-worker-1] WARN org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor - Script evaluation exceeded the configured threshold for request [RequestMessage{, requestId=a37de63d-f3fe-4629-aae2-e3a33590576f, op='eval', processor='', args={gremlin=serviceV = g.V().has('SERVICE', 'name', 'ichiba').next();
userV = g.V().has('USER', 'easyId', easy_id).next();
head = g.V(userV).out('owns').where(out('subscribedTo').hasId(serviceV.id())).next();
activityV = g.addV('ACTIVITY').property('VERB', verb).next();
oldE = g.V(head).outE('follows').next();
g.V(head).as('head').out('follows').as('a2').V(activityV).as('a').addE('follows').from('a').to('a2').addE('follows').from('head').to('a').next();
g.E(oldE).drop().iterate();, bindings={easy_id=180, verb=QtieV7OaFjaI}, batchSize=64}}]
java.util.concurrent.TimeoutException: Evaluation exceeded the configured 'evaluationTimeout' threshold of 30000 ms or evaluation was otherwise cancelled directly for request [serviceV = g.V().has('SERVICE', 'name', 'ichiba').next();
userV = g.V().has('USER', 'easyId', easy_id).next();
head = g.V(userV).out('owns').where(out('subscribedTo').hasId(serviceV.id())).next();
activityV = g.addV('ACTIVITY').property('VERB', verb).next();
oldE = g.V(head).outE('follows').next();
g.V(head).as('head').out('follows').as('a2').V(activityV).as('a').addE('follows').from('a').to('a2').addE('follows').from('head').to('a').next();
g.E(oldE).drop().iterate();]
at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$1(GremlinExecutor.java:316)
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.lang.Thread.run(Thread.java:748)
Any help is appreciated.
Hi all,
I am running janusgraph as a container with cassandra as external backend. We are doing some performance test. We are getting some qps drop and latency in response if ran at >700qps. However when we drop the script evaluation time (in gremlin-server.yaml) to 30ms from 30 sec, there is no qps drop but still warnings for script evaluation timeout. So, does anyone knows what script evaluation does. Below is the warning we are getting in logs. Thanks.
1561485 [gremlin-server-worker-1] WARN org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor - Script evaluation exceeded the configured threshold for request [RequestMessage{, requestId=a37de63d-f3fe-4629-aae2-e3a33590576f, op='eval', processor='', args={gremlin=serviceV = g.V().has('SERVICE', 'name', 'ichiba').next();
userV = g.V().has('USER', 'easyId', easy_id).next();
head = g.V(userV).out('owns').where(out('subscribedTo').hasId(serviceV.id())).next();
activityV = g.addV('ACTIVITY').property('VERB', verb).next();
oldE = g.V(head).outE('follows').next();
g.V(head).as('head').out('follows').as('a2').V(activityV).as('a').addE('follows').from('a').to('a2').addE('follows').from('head').to('a').next();
g.E(oldE).drop().iterate();, bindings={easy_id=180, verb=QtieV7OaFjaI}, batchSize=64}}]
java.util.concurrent.TimeoutException: Evaluation exceeded the configured 'evaluationTimeout' threshold of 30000 ms or evaluation was otherwise cancelled directly for request [serviceV = g.V().has('SERVICE', 'name', 'ichiba').next();
userV = g.V().has('USER', 'easyId', easy_id).next();
head = g.V(userV).out('owns').where(out('subscribedTo').hasId(serviceV.id())).next();
activityV = g.addV('ACTIVITY').property('VERB', verb).next();
oldE = g.V(head).outE('follows').next();
g.V(head).as('head').out('follows').as('a2').V(activityV).as('a').addE('follows').from('a').to('a2').addE('follows').from('head').to('a').next();
g.E(oldE).drop().iterate();]
at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$1(GremlinExecutor.java:316)
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.lang.Thread.run(Thread.java:748)
Any help is appreciated.