[jira] [Commented] (TINKERPOP-2486) Client does not load balance requests across available connections

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415263#comment-17415263
 ] 

ASF GitHub Bot commented on TINKERPOP-2486:
---

simonz-bq commented on pull request #1465:
URL: https://github.com/apache/tinkerpop/pull/1465#issuecomment-919600535


   I updated the connection pool logic a bit to be simpler and to solve the 
load balancing issues due to race conditions.
   
   In my opinion the change seems reasonable but there may be a side effect 
that I haven't considered or figured out.
   
   Aside from the load balancing issues, the old and new logic work as follows 
for getting a connection:
   
   1. Grab the least used connection
   2. If no connection could be returned, wait for one to be available
   3. If the least used connection's borrow count is higher than 
`maxSimultaneousUsagePerConnection`, consider making a new connection if the 
pool is not full. **Even if `maxSimultaneousUsagePerConnection`, this least 
used connection is still considered a valid connection to return**
   4. If the least used connection's borrow count is higher than 
`maxSimultaneousUsagePerConnection` AND the least used connection has reached 
it's maximum processes, wait for one to be available
   5. Else, return the least used connection
   
   The old logic allowed a connection to be grabbed even if 
`maxSimultaneousUsagePerConnection` was exceeded, and only deemed it invalid if 
also the maximum processes was reached.
   
   New:
   
   1. Grab the least used connection that is below the 
`maxSimultaneousUsagePerConnection` count
   2. Increment the borrow count, and if it now reaches 
`maxSimultaneousUsagePerConnection`, consider creation of a new connection
   3. If a least used connection could not be grabbed, then wait for one to be 
available


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Client does not load balance requests across available connections
> --
>
> Key: TINKERPOP-2486
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2486
> Project: TinkerPop
>  Issue Type: Bug
>  Components: driver
>Affects Versions: 3.4.8, 3.4.9
>Reporter: Divij Vaidya
>Priority: Major
>
> The client does not load balance requests across connections in a threadpool 
> which cause a request failing with timeout even when a connection is 
> available. To verify this, the following test fails:
> {code:java}
> @Test
> public void shouldBalanceConcurrentRequestsAcrossConnections() throws 
> InterruptedException {
> final int connPoolSize = 16;
> final Cluster cluster = TestClientFactory.build()
> .minConnectionPoolSize(connPoolSize)
> .maxConnectionPoolSize(connPoolSize)
> .create();
> final Client.ClusteredClient client = cluster.connect();
> client.init();
> try {
> final RequestMessage.Builder request = 
> client.buildMessage(RequestMessage.build(Tokens.OPS_EVAL))
> .add(Tokens.ARGS_GREMLIN, "Thread.sleep(5000)");
> final Callable sendQueryCallable = () -> 
> client.chooseConnection(request.create());
> final List> listOfTasks = new ArrayList<>();
> for (int i=0; i listOfTasks.add(sendQueryCallable);
> }
> Set channels = new HashSet<>();
> final List> executorSubmitFutures = 
> executorServiceForTesting.invokeAll(listOfTasks);
> executorSubmitFutures.parallelStream().map(fut -> {
> try {
> return fut.get();
> } catch (InterruptedException e) {
> e.printStackTrace();
> } catch (ExecutionException e) {
> e.printStackTrace();
> }
> return null;
> }).forEach(conn -> channels.add(conn.getChannelId()));
> 
> System.out.println(channels.size());
> } finally {
> cluster.close();
> }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2486) Client does not load balance requests across available connections

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415259#comment-17415259
 ] 

ASF GitHub Bot commented on TINKERPOP-2486:
---

simonz-bq commented on a change in pull request #1465:
URL: https://github.com/apache/tinkerpop/pull/1465#discussion_r708741944



##
File path: 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ConnectionPool.java
##
@@ -158,38 +156,40 @@ public Connection borrowConnection(final long timeout, 
final TimeUnit unit) thro
 return waitForConnection(timeout, unit);
 }
 
+final Connection leastUsedConn = selectLeastUsed();
+
 if (null == leastUsedConn) {
 if (isClosed())
 throw new ConnectionException(host.getHostUri(), 
host.getAddress(), "Pool is shutdown");
 logger.debug("Pool was initialized but a connection could not be 
selected earlier - waiting for connection on {}", host);
 return waitForConnection(timeout, unit);
 }
 
+// Currently borrowed and used connections is 1 less than borrowed 
which is incremented by selectLeastUsed
+final int borrowedInUse = leastUsedConn.borrowed.get() - 1;
+
 // if the number borrowed on the least used connection exceeds the max 
allowed and the pool size is
 // not at maximum then consider opening a connection
 final int currentPoolSize = connections.size();
-if (leastUsedConn.borrowed.get() >= maxSimultaneousUsagePerConnection 
&& currentPoolSize < maxPoolSize) {
+if (borrowedInUse >= maxSimultaneousUsagePerConnection && 
currentPoolSize < maxPoolSize) {

Review comment:
   I added a test case. See top level PR comment for new logic.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Client does not load balance requests across available connections
> --
>
> Key: TINKERPOP-2486
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2486
> Project: TinkerPop
>  Issue Type: Bug
>  Components: driver
>Affects Versions: 3.4.8, 3.4.9
>Reporter: Divij Vaidya
>Priority: Major
>
> The client does not load balance requests across connections in a threadpool 
> which cause a request failing with timeout even when a connection is 
> available. To verify this, the following test fails:
> {code:java}
> @Test
> public void shouldBalanceConcurrentRequestsAcrossConnections() throws 
> InterruptedException {
> final int connPoolSize = 16;
> final Cluster cluster = TestClientFactory.build()
> .minConnectionPoolSize(connPoolSize)
> .maxConnectionPoolSize(connPoolSize)
> .create();
> final Client.ClusteredClient client = cluster.connect();
> client.init();
> try {
> final RequestMessage.Builder request = 
> client.buildMessage(RequestMessage.build(Tokens.OPS_EVAL))
> .add(Tokens.ARGS_GREMLIN, "Thread.sleep(5000)");
> final Callable sendQueryCallable = () -> 
> client.chooseConnection(request.create());
> final List> listOfTasks = new ArrayList<>();
> for (int i=0; i listOfTasks.add(sendQueryCallable);
> }
> Set channels = new HashSet<>();
> final List> executorSubmitFutures = 
> executorServiceForTesting.invokeAll(listOfTasks);
> executorSubmitFutures.parallelStream().map(fut -> {
> try {
> return fut.get();
> } catch (InterruptedException e) {
> e.printStackTrace();
> } catch (ExecutionException e) {
> e.printStackTrace();
> }
> return null;
> }).forEach(conn -> channels.add(conn.getChannelId()));
> 
> System.out.println(channels.size());
> } finally {
> cluster.close();
> }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2486) Client does not load balance requests across available connections

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415258#comment-17415258
 ] 

ASF GitHub Bot commented on TINKERPOP-2486:
---

simonz-bq commented on a change in pull request #1465:
URL: https://github.com/apache/tinkerpop/pull/1465#discussion_r708741893



##
File path: 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ConnectionPool.java
##
@@ -158,38 +156,40 @@ public Connection borrowConnection(final long timeout, 
final TimeUnit unit) thro
 return waitForConnection(timeout, unit);
 }
 
+final Connection leastUsedConn = selectLeastUsed();

Review comment:
   I changed the way it's currently working. I'll add the top level comment 
in this PR but it's no longer complicated enough to warrant a specific comment 
aside from the docstring on the method itself.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Client does not load balance requests across available connections
> --
>
> Key: TINKERPOP-2486
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2486
> Project: TinkerPop
>  Issue Type: Bug
>  Components: driver
>Affects Versions: 3.4.8, 3.4.9
>Reporter: Divij Vaidya
>Priority: Major
>
> The client does not load balance requests across connections in a threadpool 
> which cause a request failing with timeout even when a connection is 
> available. To verify this, the following test fails:
> {code:java}
> @Test
> public void shouldBalanceConcurrentRequestsAcrossConnections() throws 
> InterruptedException {
> final int connPoolSize = 16;
> final Cluster cluster = TestClientFactory.build()
> .minConnectionPoolSize(connPoolSize)
> .maxConnectionPoolSize(connPoolSize)
> .create();
> final Client.ClusteredClient client = cluster.connect();
> client.init();
> try {
> final RequestMessage.Builder request = 
> client.buildMessage(RequestMessage.build(Tokens.OPS_EVAL))
> .add(Tokens.ARGS_GREMLIN, "Thread.sleep(5000)");
> final Callable sendQueryCallable = () -> 
> client.chooseConnection(request.create());
> final List> listOfTasks = new ArrayList<>();
> for (int i=0; i listOfTasks.add(sendQueryCallable);
> }
> Set channels = new HashSet<>();
> final List> executorSubmitFutures = 
> executorServiceForTesting.invokeAll(listOfTasks);
> executorSubmitFutures.parallelStream().map(fut -> {
> try {
> return fut.get();
> } catch (InterruptedException e) {
> e.printStackTrace();
> } catch (ExecutionException e) {
> e.printStackTrace();
> }
> return null;
> }).forEach(conn -> channels.add(conn.getChannelId()));
> 
> System.out.println(channels.size());
> } finally {
> cluster.close();
> }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2486) Client does not load balance requests across available connections

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415257#comment-17415257
 ] 

ASF GitHub Bot commented on TINKERPOP-2486:
---

simonz-bq commented on a change in pull request #1465:
URL: https://github.com/apache/tinkerpop/pull/1465#discussion_r708741599



##
File path: 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ConnectionPool.java
##
@@ -475,7 +474,7 @@ private void announceAvailableConnection() {
 }
 }
 
-private Connection selectLeastUsed() {
+private synchronized Connection selectLeastUsed() {

Review comment:
   Renamed, but this is outdated now.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Client does not load balance requests across available connections
> --
>
> Key: TINKERPOP-2486
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2486
> Project: TinkerPop
>  Issue Type: Bug
>  Components: driver
>Affects Versions: 3.4.8, 3.4.9
>Reporter: Divij Vaidya
>Priority: Major
>
> The client does not load balance requests across connections in a threadpool 
> which cause a request failing with timeout even when a connection is 
> available. To verify this, the following test fails:
> {code:java}
> @Test
> public void shouldBalanceConcurrentRequestsAcrossConnections() throws 
> InterruptedException {
> final int connPoolSize = 16;
> final Cluster cluster = TestClientFactory.build()
> .minConnectionPoolSize(connPoolSize)
> .maxConnectionPoolSize(connPoolSize)
> .create();
> final Client.ClusteredClient client = cluster.connect();
> client.init();
> try {
> final RequestMessage.Builder request = 
> client.buildMessage(RequestMessage.build(Tokens.OPS_EVAL))
> .add(Tokens.ARGS_GREMLIN, "Thread.sleep(5000)");
> final Callable sendQueryCallable = () -> 
> client.chooseConnection(request.create());
> final List> listOfTasks = new ArrayList<>();
> for (int i=0; i listOfTasks.add(sendQueryCallable);
> }
> Set channels = new HashSet<>();
> final List> executorSubmitFutures = 
> executorServiceForTesting.invokeAll(listOfTasks);
> executorSubmitFutures.parallelStream().map(fut -> {
> try {
> return fut.get();
> } catch (InterruptedException e) {
> e.printStackTrace();
> } catch (ExecutionException e) {
> e.printStackTrace();
> }
> return null;
> }).forEach(conn -> channels.add(conn.getChannelId()));
> 
> System.out.println(channels.size());
> } finally {
> cluster.close();
> }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Re: Anything I could do to help?

2021-09-14 Thread Stephen Mallette
> Now you may argue that the PMC is about “management,” but can you really
say that with an honest face given how little the PMC actually did for all
those years

I agree that the PMC is not about management in the sense you are speaking,
but nor is it a technical body. It serves a small handful of functions, the
primary of which is releasing code. Without three active members who take
the time to vote, no release can go out the door and the project becomes
fodder for the attic. The PMC should be having few conversations within
itself and those conversations that occur typically restrict themselves to
security issues, brand management and nominating new contributors. As those
are generally rare events as a whole, the PMC life of management is a quiet
one as you describe.

> it seems you are doing little to attract talented contributors

That's a point we've not discussed enough. You've mentioned a number of
reasons why you think we haven't attracted fresh talent. I'd wonder if
there are others to consider as well. Do we have a clear direction for the
future that new people can find a connection to and be excited about? Is
the code base approachable for someone who is looking at it for the first
time? Have the long maintenance cycles on release lines of recent years
helped users but not excited nor enticed potential contributors hoping to
be more on the forefront of bigger changes?



On Sun, Sep 12, 2021 at 1:18 PM Marko Rodriguez 
wrote:

> Understood. However, it seems you are doing little (if not in willful
> opposition) to attract talented contributors. The PMC has replaced
> non-corporate (those unbridled by common thought) with corporate minded
> individuals who boast about contributing but don’t or have contributed in
> the past but have aged out of performing at that level. Now you may argue
> that the PMC is about “management,” but can you really say that with an
> honest face given how little the PMC actually did for all those years
> (meaning private@ has maybe 5 non-VOTE email conversations on it)? Next,
> when it is publicly known that Apache TinkerPop kicks off PMC members who
> don’t live according to “corporate norms” (completely separate from their
> role at TinkerPop), can you honestly say that this inspires potential
> talent to risk contributing their time and energy only to be judge for who
> they are and how they act in a world ruled by this inane concept of
> ‘canceling’ that even your own PMC members (Josh) speak of nonchalantly as
> if its a natural state of the human condition and not some aberration of
> the fear and despair people feel as competition is being killed out of our
> dying industry by ‘inclusive and diverse' organizations like Apache who
> have forced you to enact mental gymnastics in order to demonize your own
> teammates? Do you honestly believe talent is found in this world you have
> positioned yourself in? Talent lives in the young, fresh faced rebels who
> created our industry in the first place and without the quirky blog posts,
> the thought provoking technological advances, and the triumph of beauty
> over conformity, you will not find talent, only the droning on of the
> nothingness that has becomes this once great project. A project within an
> organization that has gone completely against the doctrines of Apache by
> being exclusive, desirous of a monoculture meant to halt innovation and
> stagnate progress much like what such thinking did to the automobile
> industry of the olden generation...
>
> Thoughts?,
> Marko.
>
> > On Sep 10, 2021, at 4:01 PM, Stephen Mallette 
> wrote:
> >
> > Marko, I agree with your assertion that the project needs innovation and
> > talented contributors to continue to thrive. It needs that as much as it
> > needs stability and reliability for the users who depend on it today.
> > Obviously, things can't quite be as they were, but perhaps they can
> become
> > something new.
> >
> > On Tue, Sep 7, 2021 at 6:34 PM Marko Rodriguez  > wrote:
> >
> >> Hi guys/gals,
> >>
> >> Looks like it’s just been Stephen nick-nacking away again as it’s been
> the
> >> last few years. Given the recent big turnover in management, I was
> hoping
> >> to eat my own words and see some performance out of Josh, but
> unfortunately
> >> as given the last 15+ years, 'talk and walk’ (which is even worse than
> >> ‘commit and split’). Given that Amazon Neptune is including openCypher
> in
> >> their distribution and with Neo4j just took in a whomping $300+ million
> in
> >> a Series , seems Apache TinkerPop will be falling to the
> >> wayside unless some real innovation happens.
> >>
> >> As such, perhaps I could offer a helping hand given my intimate
> knowledge
> >> of the codebase and my master of the theory and history of graph
> computing
> >> that I helped formulate over the last 15 years. With that said, I
> >> completely understand if y’all need to hold to the narrative that I’m a
> >> “Nazi racist” and thus, 

[jira] [Updated] (TINKERPOP-2621) toString for traversals such as within with empty array returns empty string as argument instead of brackets

2021-09-14 Thread Stephen Mallette (Jira)


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

Stephen Mallette updated TINKERPOP-2621:

Component/s: (was: javascript)
 language
Environment: (was: neptune engine: 1.0.2.2 (i did not see any fixes for 
that in newer engine releases for such traversal)

gremlin: 3.5.1)

> toString for traversals such as within with empty array returns empty string 
> as argument instead of brackets
> 
>
> Key: TINKERPOP-2621
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2621
> Project: TinkerPop
>  Issue Type: Bug
>  Components: language
>Affects Versions: 3.5.1
>Reporter: Tal Ron
>Priority: Major
>
> I use the gremlin Translator to translate bytecode query to script in order 
> to allow sending it to neptune profile/explain endpoints.
> a query which include a steps such as '.within([])'  , notice the empty 
> array, is translated to 
> .within()   which fails in neptune, where  within([])  with empty brackets 
> actually works.
> now I don't know if this is neptune blame which should allow such traversal 
> or gremlin (client) issue, and if gremlin should print empty brackets or 
> empty string..
> see: node_modules/gremlin/lib/process/traversal.js :
> return this.operator + '(' + formatValue(this.value) + ')';
> .toString([])  => ''
>  
>  
> {code:java}
> // 
>   toString() {
> function formatValue(value){
>   if (Array.isArray(value)) {
> let acc = [];
> for (const item of value) {
>   acc.push(formatValue(item));
> }
> return acc;
>   }
>   if (value && typeof value === "string"){
> return "'" + value + "'";
>   }
>   return value;
> }
> if (this.other === undefined || this.other === null) {
>   return this.operator + '(' + formatValue(this.value) + ')';
> }
> return this.operator + '(' + formatValue(this.value) + ', ' + 
> formatValue(this.other) + ')';
>   } {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2621) toString for traversals such as within with empty array returns empty string as argument instead of brackets

2021-09-14 Thread Stephen Mallette (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415113#comment-17415113
 ] 

Stephen Mallette commented on TINKERPOP-2621:
-

Neptune might be to blame in some respect, though I'm not sure TinkerPop has 
made it clear what the behavior should be. If i try it in Gremlin Console i get 
the following {{toString()}} back which means that it can be called this way:

{code}
gremlin> P.within()
==>within([])
gremlin> g.V().has('name',within())
gremlin> 
{code}

Since it is valid for varargs (at least in Java/Groovy) to be called with empty 
arguments, I think Neptune should probably allow it so technically it's a bug 
there, but it's perhaps also a bug in our grammar so this issue should stay 
open here i believe.

> toString for traversals such as within with empty array returns empty string 
> as argument instead of brackets
> 
>
> Key: TINKERPOP-2621
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2621
> Project: TinkerPop
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 3.5.1
> Environment: neptune engine: 1.0.2.2 (i did not see any fixes for 
> that in newer engine releases for such traversal)
> gremlin: 3.5.1
>Reporter: Tal Ron
>Priority: Major
>
> I use the gremlin Translator to translate bytecode query to script in order 
> to allow sending it to neptune profile/explain endpoints.
> a query which include a steps such as '.within([])'  , notice the empty 
> array, is translated to 
> .within()   which fails in neptune, where  within([])  with empty brackets 
> actually works.
> now I don't know if this is neptune blame which should allow such traversal 
> or gremlin (client) issue, and if gremlin should print empty brackets or 
> empty string..
> see: node_modules/gremlin/lib/process/traversal.js :
> return this.operator + '(' + formatValue(this.value) + ')';
> .toString([])  => ''
>  
>  
> {code:java}
> // 
>   toString() {
> function formatValue(value){
>   if (Array.isArray(value)) {
> let acc = [];
> for (const item of value) {
>   acc.push(formatValue(item));
> }
> return acc;
>   }
>   if (value && typeof value === "string"){
> return "'" + value + "'";
>   }
>   return value;
> }
> if (this.other === undefined || this.other === null) {
>   return this.operator + '(' + formatValue(this.value) + ')';
> }
> return this.operator + '(' + formatValue(this.value) + ', ' + 
> formatValue(this.other) + ')';
>   } {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2379) Consistent defaults and initialization APIs for drivers

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415103#comment-17415103
 ] 

ASF GitHub Bot commented on TINKERPOP-2379:
---

spmallette commented on pull request #1472:
URL: https://github.com/apache/tinkerpop/pull/1472#issuecomment-919423047


   so, allow me to summarize to get more specific here:
   
   1. the "max content length" should be 10MB across drivers so that we don't 
downgrade python.
   2. it sounds like we are all content with the various "pool sizes" being 8
   3. it looks like we're ok with using florian's suggestion of 
maxSimultaneousUsagePerConnection as the equivalent for the 
MaxInProcessPerConnection in .NET 
   4. there's no timeouts in common, so nothing to change there
   5. we'll leave lower level driver defaults within specific libraries alone 
for now.
   
   one thing not noted so far is that if we increase the "max content length" 
for the driver we need to do the same for the server, so we would need to 
change the various YAML files out there:
   
   
https://github.com/apache/tinkerpop/blob/master/gremlin-server/conf/gremlin-server.yaml#L48
   
   as well as:
   
   
https://github.com/apache/tinkerpop/blob/master/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java#L146
   
   and potential adjust failing integration tests that relied on the former 64k 
max. 
   
   i suppose my final question here is whether or not this stays on 3.5-dev as 
florian questioned that. If you now tried to connect a 3.5.2 driver to 3.5.0 
server and expected a 10mb maxContentLength to work, it wouldn't since the 
server would still default at 64k. Do we instead target master?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Consistent defaults and initialization APIs for drivers
> ---
>
> Key: TINKERPOP-2379
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2379
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.4.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> Some drivers allow the connection URL to be directly set which means that it 
> is wholly configurable. For example, Javascript allows:
> {code}
> const g = traversal().withRemote(new 
> DriverRemoteConnection('ws://localhost:8182/gremlin'));
> {code}
> Python allows something similar, but Java and .NET do not. I don't recall a 
> reason for that inconsistency and there are times when it seems that such 
> options would be helpful.
> In addition, some drivers will take a file for configuration and some will 
> not. Furthermore, defaults for various settings are different from one driver 
> to the next. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2379) Consistent defaults and initialization APIs for drivers

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415100#comment-17415100
 ] 

ASF GitHub Bot commented on TINKERPOP-2379:
---

krlawrence edited a comment on pull request #1472:
URL: https://github.com/apache/tinkerpop/pull/1472#issuecomment-919410347


   VOTE  -1
   
   I'm not in favor of some of these changes. Please do not downgrade the max 
content sizes to match Java that is a breaking and IMO bad change. The default 
for example for Python has always been 10mb as that was the Tornado default and 
we consciously carried that over into the HTTP ASYNC/IO version of the driver.
   
   If anything the Java values should be raised. Time and again I have to tell 
users how to increase the Java settings. I rarely have to tell Python users how 
to. I do not support this breaking change for the Python client changing 
max_content_length to 65536.
   
   We should not try to blindly make all of the settings the same as the Java 
ones. In some cases I will assert the Java values are wrong.
   
   Unless it causes issues why don't we raise it to 10MB across all clients?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Consistent defaults and initialization APIs for drivers
> ---
>
> Key: TINKERPOP-2379
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2379
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.4.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> Some drivers allow the connection URL to be directly set which means that it 
> is wholly configurable. For example, Javascript allows:
> {code}
> const g = traversal().withRemote(new 
> DriverRemoteConnection('ws://localhost:8182/gremlin'));
> {code}
> Python allows something similar, but Java and .NET do not. I don't recall a 
> reason for that inconsistency and there are times when it seems that such 
> options would be helpful.
> In addition, some drivers will take a file for configuration and some will 
> not. Furthermore, defaults for various settings are different from one driver 
> to the next. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TINKERPOP-2379) Consistent defaults and initialization APIs for drivers

2021-09-14 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/TINKERPOP-2379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17415096#comment-17415096
 ] 

ASF GitHub Bot commented on TINKERPOP-2379:
---

krlawrence commented on pull request #1472:
URL: https://github.com/apache/tinkerpop/pull/1472#issuecomment-919410347


   VOTE  -1
   
   I'm not in favor of some of these changes. Please do not downgrade the max 
content sizes to match Java that is a breaking and IMO bad change. The default 
for example for Python has always been 10mb as that was the Tornado default and 
we consciously carried that over into the HTTP ASYNC/IO version of the driver.
   
   If anything the Java values should be raised. Time and again I have to tell 
users how to increase the Java settings. I rarely have to tell Python users how 
to. I do not support this breaking change for the Python client changing 
max_content_length to 65536.
   
   We should not try to blindly make all of the settings the same as the Java 
ones. In some cases I will assert the Java values are wrong.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tinkerpop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Consistent defaults and initialization APIs for drivers
> ---
>
> Key: TINKERPOP-2379
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2379
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.4.6
>Reporter: Stephen Mallette
>Priority: Minor
>
> Some drivers allow the connection URL to be directly set which means that it 
> is wholly configurable. For example, Javascript allows:
> {code}
> const g = traversal().withRemote(new 
> DriverRemoteConnection('ws://localhost:8182/gremlin'));
> {code}
> Python allows something similar, but Java and .NET do not. I don't recall a 
> reason for that inconsistency and there are times when it seems that such 
> options would be helpful.
> In addition, some drivers will take a file for configuration and some will 
> not. Furthermore, defaults for various settings are different from one driver 
> to the next. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)