You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Divij Vaidya (Jira)" <ji...@apache.org> on 2019/10/02 19:35:00 UTC
[jira] [Comment Edited] (TINKERPOP-2205) Use one connection per
request for Java client
[ https://issues.apache.org/jira/browse/TINKERPOP-2205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16943100#comment-16943100 ]
Divij Vaidya edited comment on TINKERPOP-2205 at 10/2/19 7:34 PM:
------------------------------------------------------------------
Good to hear that we are making progress with the driver.
How are you benchmarking the clients to compare the request per second (rps)? Earlier as part of PR 2205 I tested with the same configuration of server and client (just change the branch) using the code at [https://github.com/divijvaidya/driver-benchmark-tinkerpop-2205/blob/master/src/main/java/com/divijv/MyBenchmark.java].
Multiple code changes have also been done post that initial benchmark.
Let me know if you are not able to achieve the desired performance. At that stage, I will put the driver under a profiler and work towards eliminating bottlenecks.
was (Author: divijvaidya):
Good to hear that we are making progress with the driver.
How are you benchmarking the clients to compare the request per second (rps)? I tested with the same configuration of server and client (just change the branch) using the code at [https://github.com/divijvaidya/driver-benchmark-tinkerpop-2205/blob/master/src/main/java/com/divijv/MyBenchmark.java].
Multiple code changes have also been done post the initial benchmark.
Let me know if you are not able to achieve the desired performance. At that stage, I will put the driver under a profiler and work towards eliminating bottlenecks.
> Use one connection per request for Java client
> ----------------------------------------------
>
> Key: TINKERPOP-2205
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2205
> Project: TinkerPop
> Issue Type: Improvement
> Components: driver
> Affects Versions: 3.3.6
> Reporter: Divij Vaidya
> Assignee: Stephen Mallette
> Priority: Major
> Labels: deprecation
>
> This issue is a tracking item for the conversation in the mailing list [[1]|https://lists.apache.org/thread.html/77728cb77d4eab90f15680595e653ffc6055b74db29cbd4dcd5f0339@%3Cdev.tinkerpop.apache.org%3E] which highlights multiple problems and shortcomings in the existing Java client and proposes a design change in the client connection pooling to address the same. More specifically, the problems addressed are as follows:
> # Difficulty in configuring the client for optimum performance.
> # Undocumented dependency of configuration parameters on each other.
> # A bad request can impact other requests on the same channel.
> # Host is marked as dead even if it is busy serving requests.
> # No way to free up server resources if the client has stopped consuming results.
> # No differentiation between retriable and non-retriable exceptions from the application code.
> # Keep alive is only sent when a query is executing, which means that a connection open for a very long time with no query being sent will be closed by the server.
> # Race condition if the server response reaches before result queue has been registered.
> # Unpredictable behaviour if the server sends an exception followed by a genuine response for the same request.
> # A concurrent hash map (tracking pending requests) is a point of contention amongst threads.
> [1]https://lists.apache.org/thread.html/77728cb77d4eab90f15680595e653ffc6055b74db29cbd4dcd5f0339@%3Cdev.tinkerpop.apache.org%3E
--
This message was sent by Atlassian Jira
(v8.3.4#803005)