From dev-return-29703-archive-asf-public=cust-asf.ponee.io@tinkerpop.apache.org Wed Oct 2 18:30:03 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 5FF5618064F for ; Wed, 2 Oct 2019 20:30:03 +0200 (CEST) Received: (qmail 98909 invoked by uid 500); 2 Oct 2019 18:30:02 -0000 Mailing-List: contact dev-help@tinkerpop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tinkerpop.apache.org Delivered-To: mailing list dev@tinkerpop.apache.org Received: (qmail 98891 invoked by uid 99); 2 Oct 2019 18:30:02 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Oct 2019 18:30:02 +0000 Received: from jira-he-de.apache.org (static.172.67.40.188.clients.your-server.de [188.40.67.172]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 569E7E0289 for ; Wed, 2 Oct 2019 18:30:01 +0000 (UTC) Received: from jira-he-de.apache.org (localhost.localdomain [127.0.0.1]) by jira-he-de.apache.org (ASF Mail Server at jira-he-de.apache.org) with ESMTP id A652A78054C for ; Wed, 2 Oct 2019 18:30:00 +0000 (UTC) Date: Wed, 2 Oct 2019 18:30:00 +0000 (UTC) From: "Stephen Mallette (Jira)" To: dev@tinkerpop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (TINKERPOP-2205) Use one connection per request for Java client MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/TINKERPOP-2205?page=3Dcom.atlas= sian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D= 16943062#comment-16943062 ]=20 Stephen Mallette commented on TINKERPOP-2205: --------------------------------------------- I've been running a utility on {{driver-35}} that tests different driver co= nfigurations. It required some modifications to account for the configurati= on changes. I immediately hit two problems: 1. Driver timed-out getting connections or=20 2. Driver couldn't create a channel (i.e. socket) The documentation seemed to cover the first issue with upgrading as it ment= ioned: {quote}determine how many requests you anticipate to run in parallel from y= our client{quote} but the following only made it into the PR description: {quote}A client generating high TPS from a single machine will have to modi= fy the OS setting for max number of open files, since each connection corre= sponds to a single file in linux OS.{quote} I will add some documentation around that. =20 Having now formally used {{driver-35}} and really poked about within it, I = think I like that the code relies on more standard netty stuff which is fur= ther supported in: https://github.com/apache/tinkerpop/pull/1205 I also like the configuration simplicity that was promised in this change. = However, I've not yet been able to achieve the same "request per second" th= at I was getting before prior to the changes, but I still may not have the = best configuration to achieve that, so I'm still trying. Another good point= now is that I've passed millions of messages through the driver at this po= int and it has behaved in a fairly stable way - there have been no odd erro= rs or noticeable problems - good sign. > 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/77728cb77d4eab90f15680595e653ffc605= 5b74db29cbd4dcd5f0339@%3Cdev.tinkerpop.apache.org%3E] which highlights mult= iple problems and shortcomings in the existing Java client and proposes a d= esign change in the client connection pooling to address the same.=C2=A0Mor= e 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 close= d 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 conten= tion amongst threads. > [1]https://lists.apache.org/thread.html/77728cb77d4eab90f15680595e653ffc6= 055b74db29cbd4dcd5f0339@%3Cdev.tinkerpop.apache.org%3E -- This message was sent by Atlassian Jira (v8.3.4#803005)