Robert Dale commented on TINKERPOP-2003:

Can you post the actual queries that time out from your Gremlin Server's 
 It should look like this
[WARN] AbstractEvalOpProcessor - Script evaluation exceeded the configured 
threshold for request [RequestMessage{, requestId=..., op='eval', processor='', 
args={gremlin=g.V(), batchSize=64}}]
It may also be helpful to see relevant stacktraces from the server.
 I would also turn on GC logging to rule out any really long garbage collection 
pause times.

What database are you using? Have you ruled out any contention there?

> After a long period (almost 5days)of parallel requests(almost 200 request per 
> second),client.submit blocked
> -----------------------------------------------------------------------------------------------------------
>                 Key: TINKERPOP-2003
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2003
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver
>    Affects Versions: 3.3.0
>            Reporter: xifenghz
>            Priority: Major
> After a long period (almost 5days)of parallel requests(almost 200 request per 
> second),client.submit blocked for scriptEvaluationTimeout configured,and 
> return timeout.At the same time,many TCP connections in Gremlin Server are in 
> CLOSE_WAIT state.
> Here is my usages:
> cluster = Cluster.build(FileUtils.toFile(config)).create();
>  client = cluster.connect();
>  ResultSet resultSet = null;
>  {color:#ff0000}synchronized (Service.class){color}
> { resultSet = client.submit(gremlinScript); }
> CompletableFuture<List<Result>> future = null;
>  List<Result> results = null;
>  future = resultSet.all();
>  results = future.get();
> The code snippet above runs in a java web app based on SpringMVC.I found a PR 
> related to my question.
> [https://github.com/apache/tinkerpop/pull/367/commits/58d8bade7425c7a7865382990eaaed2b7d90659c#diff-06d5dfb02d5d2c807c2387c3e9338709]
> In this PR,the author seems to say gremlin doer not support high concurrency。
> {color:#ff0000}Removed recommendations for submitting parallel requests on a 
> session from docs.{color}
> {color:#333333}So,I submit the gremlin script in order(use synchronized 
> keyword,just as my code snippet ).But in order to lift throughput,I do not 
> lock the code for getting result from Gremlin Server。I want to know some 
> details about how Gremlin Server receive and process requests,such as the 
> receiver and executor threads are the same one?If so ,the Gremlin server can 
> only process the requests one by one ? {color}
> {color:#333333}I wonder whether or not Gremlin supports high concurrency(such 
> as 200 second per second,including simple vertex or edge queries and complex 
> combinatorial queries).If so,please help to find out why the process time for 
> a simple script such as query vertex exceed scriptEvaluationTimeout. If 
> not,is there other ways to make Gremlin Server support  high concurrency,such 
> as multi-gremlinserver。{color}
> Thank you sincerely for your help。

This message was sent by Atlassian JIRA

Reply via email to