[ 
https://issues.apache.org/jira/browse/TINKERPOP-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

xifenghz updated TINKERPOP-2003:
--------------------------------
    Description: 
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。

 

  was:
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。{color}

 

{color:#333333}I don't know 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。

 


> 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
(v7.6.3#76005)

Reply via email to