[GitHub] [tinkerpop] dalaro opened a new pull request #1113: TINKERPOP-2216 add status attribute for warnings

2019-05-13 Thread GitBox
dalaro opened a new pull request #1113: TINKERPOP-2216 add status attribute for 
warnings
URL: https://github.com/apache/tinkerpop/pull/1113
 
 
   JIRA link: https://issues.apache.org/jira/browse/TINKERPOP-2216
   
   There are a lot of alternative ways to approach this.  I'm just opening this 
PR, with this specific approach, because it illustrates the suggested feature a 
bit more clearly than the prose in the JIRA issue description.
   
   This adds a new {{Tokens}} string literal with the value `"warnings"`.  The 
console's `DriverRemoteAcceptor` checks for this status attribute every time it 
receives a remote resultset, printing the value above the results (to `err` 
when available).  If the value is a list, each element gets passed through 
`String#valueOf` and printed on a separate line.  Otherwise, it's just passed 
through `String#valueOf` and printed once.
   
   Testing this in isolation seems a bit tricky.  I've been testing this 
coupled with a remote graph running in Gremlin-Server. If anyone has 
suggestions about reusable test harness bits underneath 
`gremlin-console/src/test` that I should reuse for this, I'd be interested.
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] divijvaidya commented on issue #1105: TINKERPOP-2205 Change connection management to single request per channel

2019-05-13 Thread GitBox
divijvaidya commented on issue #1105: TINKERPOP-2205 Change connection 
management to single request per channel
URL: https://github.com/apache/tinkerpop/pull/1105#issuecomment-491974093
 
 
   No, there is no reason to merge this before the 3.4.2 release. We can merge 
it after that. Meanwhile, I will continue adding changes to this branch.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1105: TINKERPOP-2205 Change connection management to single request per channel

2019-05-13 Thread GitBox
spmallette commented on issue #1105: TINKERPOP-2205 Change connection 
management to single request per channel
URL: https://github.com/apache/tinkerpop/pull/1105#issuecomment-491969136
 
 
   > I agree with targeting this change for v3.4.3.
   
   :+1: 
   
   > If any providers have provided a custom channelizer by extending 
AbstractChannelizer, they will have to modify their channelizer implementation. 
Is there a way we can inform providers of such implementations?
   
   You should write an entry in the upgrade documentation: 
   
   
https://github.com/apache/tinkerpop/blob/master/docs/src/upgrade/release-3.4.x.asciidoc
   
   > Is there anything else left (from an implementation perspective) that you 
would like me to change? I will address the documentation/examples about the 
working of the client in a separate PR.
   
   I will be doing some manual tests this week. Since we can't merge this until 
after we go through our release process, it should be fine to keep pushing 
changes to this PR (i.e. the documentation updates). I don't really like to 
break up doc fixes from code changes, if possible. Is there a reason you would 
like to see it merge ahead of those changes? since we're waiting for 3.4.3 now 
there is a bit of a delay to merge anyway right?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] divijvaidya commented on issue #1105: TINKERPOP-2205 Change connection management to single request per channel

2019-05-13 Thread GitBox
divijvaidya commented on issue #1105: TINKERPOP-2205 Change connection 
management to single request per channel
URL: https://github.com/apache/tinkerpop/pull/1105#issuecomment-491966179
 
 
   1. I agree with targeting this change for v3.4.3.
   2. If any providers have provided a custom channelizer by extending 
AbstractChannelizer, they will have to modify their channelizer implementation. 
Is there a way we can inform providers of such implementations?
   3. Is there anything else left (from an implementation perspective) that you 
would like me to change? I will address the documentation/examples about the 
working of the client in a separate PR.
   
   
   
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] newkek commented on issue #1110: TINKERPOP-2211 Add API which allows per-request option for bytecode

2019-05-13 Thread GitBox
newkek commented on issue #1110: TINKERPOP-2211 Add API which allows 
per-request option for bytecode
URL: https://github.com/apache/tinkerpop/pull/1110#issuecomment-491949258
 
 
   VOTE +1 (non-binding)


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] divijvaidya commented on issue #1110: TINKERPOP-2211 Add API which allows per-request option for bytecode

2019-05-13 Thread GitBox
divijvaidya commented on issue #1110: TINKERPOP-2211 Add API which allows 
per-request option for bytecode
URL: https://github.com/apache/tinkerpop/pull/1110#issuecomment-491939208
 
 
   VOTE +1 : Code is OK, Semantics of this change is OK


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] branch master updated (7c73810 -> dfca86c)

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from 7c73810  Merge branch 'tp33'
 add dfca86c  TINKERPOP-2190 Added docs on Gremlin injection for scripts CTR

No new revisions were added by this update.

Summary of changes:
 docs/src/reference/gremlin-applications.asciidoc | 49 +---
 1 file changed, 44 insertions(+), 5 deletions(-)



[tinkerpop] branch tp33 updated (dfe9a93 -> 783eb07)

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch tp33
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from dfe9a93  Merge remote-tracking branch 'origin/TINKERPOP-2206' into tp33
 add 783eb07  TINKERPOP-2198 Update store() documentation wrt 
EarlyLimitStrategy CTR

No new revisions were added by this update.

Summary of changes:
 docs/src/reference/the-traversal.asciidoc | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)



[tinkerpop] branch master updated: TINKERPOP-2198 Update store() documentation wrt EarlyLimitStrategy CTR

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/master by this push:
 new 783eb07  TINKERPOP-2198 Update store() documentation wrt 
EarlyLimitStrategy CTR
 new 7c73810  Merge branch 'tp33'
783eb07 is described below

commit 783eb0758fe5ae3fc9804438cb641bab9b4efc84
Author: Stephen Mallette 
AuthorDate: Mon May 13 11:14:01 2019 -0400

TINKERPOP-2198 Update store() documentation wrt EarlyLimitStrategy CTR
---
 docs/src/reference/the-traversal.asciidoc | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index 88a20b5..d6b281a 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -2572,11 +2572,13 @@ stores objects in its side-effect collection as they 
pass through.
 
 [gremlin-groovy,modern]
 
-g.V().aggregate('x').limit(1).cap('x')
+g.V().aggregate('x').limit(1).cap('x')   
 g.V().store('x').limit(1).cap('x')
+g.withoutStrategies(EarlyLimitStrategy).V().store('x').limit(1).cap('x')
 
 
-It is interesting to note that there are two results in the `store()` 
side-effect even though the interval
+It is important to note that `EarlyLimitStrategy` introduced in 3.3.5 alters 
the behavior of `store()`. Without that
+strategy (which is installed by default), there are two results in the 
`store()` side-effect even though the interval
 selection is for 1 object. Realize that when the second object is on its way 
to the `range()` filter (i.e. `[0..1]`),
 it passes through `store()` and thus, stored before filtered.
 



[tinkerpop] branch TINKERPOP-2089 updated (d8353f4 -> 52bfdfe)

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2089
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from d8353f4  TINKERPOP-2089 Added docs for javascript DSL
 add 52bfdfe  TINKERPOP-2089 Minor fix to update docs

No new revisions were added by this update.

Summary of changes:
 docs/src/upgrade/release-3.3.x.asciidoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



[GitHub] [tinkerpop] newkek commented on a change in pull request #1110: TINKERPOP-2211 Add API which allows per-request option for bytecode

2019-05-13 Thread GitBox
newkek commented on a change in pull request #1110: TINKERPOP-2211 Add API 
which allows per-request option for bytecode
URL: https://github.com/apache/tinkerpop/pull/1110#discussion_r283374742
 
 

 ##
 File path: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/RemoteConnection.java
 ##
 @@ -40,6 +40,16 @@
 public static final String GREMLIN_REMOTE = "gremlin.remote.";
 public static final String GREMLIN_REMOTE_CONNECTION_CLASS = 
GREMLIN_REMOTE + "remoteConnectionClass";
 
+/**
+ * Key for configuring a per-request timeout option for a {@code 
RemoteConnection} .
+ */
+public static final String PER_REQUEST_TIMEOUT = GREMLIN_REMOTE + 
"timeout";
 
 Review comment:
   > I guess if you were a user and you knew that certain config options were 
the same then you could just treat the config as a string key and then it would 
work without any additional dependency...
   
   Yes, the point of that comment was that you'd want to use the official 
Tinkerpop name for the options to parse them. Falling back to using equivalent 
string values does not protect from if these values change in a Tinkerpop 
update. But I understand your other point for locating that stuff explicitly in 
`gremlin-driver`/`gremlin-server`


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] branch TINKERPOP-2089 updated (bc004a5 -> d8353f4)

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2089
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from bc004a5  TINKERPOP-2089 Added tests for anoynmous DSL steps
 add d8353f4  TINKERPOP-2089 Added docs for javascript DSL

No new revisions were added by this update.

Summary of changes:
 CHANGELOG.asciidoc|  1 +
 docs/src/reference/the-traversal.asciidoc | 62 +++
 docs/src/upgrade/release-3.3.x.asciidoc   | 11 +-
 3 files changed, 73 insertions(+), 1 deletion(-)



[tinkerpop] branch TINKERPOP-2089 updated (22e3560 -> bc004a5)

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2089
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from 22e3560  TINKERPOP-2089 Minor fixes
 add bc004a5  TINKERPOP-2089 Added tests for anoynmous DSL steps

No new revisions were added by this update.

Summary of changes:
 .../test/integration/traversal-test.js   | 20 ++--
 1 file changed, 18 insertions(+), 2 deletions(-)



[GitHub] [tinkerpop] spmallette commented on a change in pull request #1110: TINKERPOP-2211 Add API which allows per-request option for bytecode

2019-05-13 Thread GitBox
spmallette commented on a change in pull request #1110: TINKERPOP-2211 Add API 
which allows per-request option for bytecode
URL: https://github.com/apache/tinkerpop/pull/1110#discussion_r283325413
 
 

 ##
 File path: 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Tokens.java
 ##
 @@ -34,6 +34,7 @@ private Tokens() {}
 public static final String OPS_KEYS = "keys";
 public static final String OPS_CLOSE = "close";
 
+public static final String ARGS_OVERRIDE_REQUEST_ID = "overrideRequestId";
 
 Review comment:
   agreed - done


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] branch TINKERPOP-2211 updated (9d7bceb -> 128662b)

2019-05-13 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2211
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from 9d7bceb  TINKERPOP-2211 Changes around bytecode submission of 
RequestOptions
 add 128662b  TINKERPOP-2211 Minor renaming of requestId setting for 
RequestOptions

No new revisions were added by this update.

Summary of changes:
 .../src/main/java/org/apache/tinkerpop/gremlin/driver/Tokens.java   | 2 +-
 .../tinkerpop/gremlin/driver/remote/DriverRemoteConnection.java | 6 +++---
 .../tinkerpop/gremlin/driver/remote/DriverRemoteConnectionTest.java | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)



[GitHub] [tinkerpop] jorgebay commented on issue #1112: TINKERPOP-2089 Added DSL support to gremlin-javascript

2019-05-13 Thread GitBox
jorgebay commented on issue #1112: TINKERPOP-2089 Added DSL support to 
gremlin-javascript
URL: https://github.com/apache/tinkerpop/pull/1112#issuecomment-491804045
 
 
   I've pushed a commit to the dev branch, feel free to override.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] branch TINKERPOP-2089 updated: TINKERPOP-2089 Minor fixes

2019-05-13 Thread jorgebg
This is an automated email from the ASF dual-hosted git repository.

jorgebg pushed a commit to branch TINKERPOP-2089
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/TINKERPOP-2089 by this push:
 new 22e3560  TINKERPOP-2089 Minor fixes
22e3560 is described below

commit 22e35606688f41278390cf6683db2740474b4250
Author: Jorge Bay Gondra 
AuthorDate: Mon May 13 14:30:16 2019 +0200

TINKERPOP-2089 Minor fixes
---
 gremlin-javascript/glv/GraphTraversalSource.template| 11 ++-
 .../gremlin-javascript/lib/process/anonymous-traversal.js   |  5 +
 .../gremlin-javascript/lib/process/graph-traversal.js   | 11 ++-
 .../javascript/gremlin-javascript/lib/structure/graph.js|  7 ---
 .../gremlin-javascript/test/integration/traversal-test.js   | 13 ++---
 5 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/gremlin-javascript/glv/GraphTraversalSource.template 
b/gremlin-javascript/glv/GraphTraversalSource.template
index d96279a..9f94828 100644
--- a/gremlin-javascript/glv/GraphTraversalSource.template
+++ b/gremlin-javascript/glv/GraphTraversalSource.template
@@ -22,23 +22,25 @@
  */
 'use strict';
 
-const Traversal = require('./traversal').Traversal;
+const { Traversal } = require('./traversal');
 const remote = require('../driver/remote-connection');
 const utils = require('../utils');
 const Bytecode = require('./bytecode');
-const TraversalStrategies = 
require('./traversal-strategy').TraversalStrategies;
+const { TraversalStrategies } = require('./traversal-strategy');
 
 
 /**
  * Represents the primary DSL of the Gremlin traversal machine.
  */
 class GraphTraversalSource {
+
   /**
+   * Creates a new instance of {@link GraphTraversalSource}.
* @param {Graph} graph
* @param {TraversalStrategies} traversalStrategies
* @param {Bytecode} [bytecode]
-   * @param {Class} graphTraversalSourceClass
-   * @param {Class} graphTraversalClass
+   * @param {Function} [graphTraversalSourceClass] Optional {@link 
GraphTraversalSource} constructor.
+   * @param {Function} [graphTraversalClass] Optional {@link GraphTraversal} 
constructor.
*/
   constructor(graph, traversalStrategies, bytecode, graphTraversalSourceClass, 
graphTraversalClass) {
 this.graph = graph;
@@ -55,7 +57,6 @@ class GraphTraversalSource {
   withRemote(remoteConnection) {
 const traversalStrategy = new 
TraversalStrategies(this.traversalStrategies);
 traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection));
-var object = Object.create(this.constructor.prototype);
 return new this.graphTraversalSourceClass(this.graph, traversalStrategy, 
new Bytecode(this.bytecode), this.graphTraversalSourceClass, 
this.graphTraversalClass);
   }
 
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
index 3fbe7eb..ff30a4b 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
@@ -31,6 +31,10 @@ const Graph = require('../structure/graph').Graph;
  */
 class AnonymousTraversalSource {
 
+  /**
+   * Creates a new instance of {@link AnonymousTraversalSource}.
+   * @param {Function} [traversalSourceClass] Optional {@code 
GraphTraversalSource} constructor.
+   */
   constructor(traversalSourceClass) {
 this.traversalSourceClass = traversalSourceClass;
   }
@@ -38,6 +42,7 @@ class AnonymousTraversalSource {
   /**
* Constructs an {@code AnonymousTraversalSource} which will then be 
configured to spawn a
* {@link GraphTraversalSource}.
+   * @param {Function} [traversalSourceClass] Optional {@code 
GraphTraversalSource} constructor.
* @returns {AnonymousTraversalSource}.
*/
   static traversal(traversalSourceClass) {
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
index 89285e3..34e06db 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
@@ -22,23 +22,25 @@
  */
 'use strict';
 
-const Traversal = require('./traversal').Traversal;
+const { Traversal } = require('./traversal');
 const remote = require('../driver/remote-connection');
 const utils = require('../utils');
 const Bytecode = require('./bytecode');
-const TraversalStrategies = 
require('./traversal-strategy').TraversalStrategies;
+const { TraversalStrategies } = require('./traversal-strategy');
 
 
 /**
  * Represents the primary DSL of the Gremlin traversal machine.
  */
 class GraphTraversalSource {
+
   /**
+   * Creates a 

[GitHub] [tinkerpop] jorgebay commented on a change in pull request #1112: TINKERPOP-2089 Added DSL support to gremlin-javascript

2019-05-13 Thread GitBox
jorgebay commented on a change in pull request #1112: TINKERPOP-2089 Added DSL 
support to gremlin-javascript
URL: https://github.com/apache/tinkerpop/pull/1112#discussion_r283250472
 
 

 ##
 File path: 
gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
 ##
 @@ -31,13 +31,17 @@ const Graph = require('../structure/graph').Graph;
  */
 class AnonymousTraversalSource {
 
+  constructor(traversalSourceClass) {
+this.traversalSourceClass = traversalSourceClass;
+  }
+
   /**
* Constructs an {@code AnonymousTraversalSource} which will then be 
configured to spawn a
* {@link GraphTraversalSource}.
* @returns {AnonymousTraversalSource}.
*/
-  static traversal() {
-return new AnonymousTraversalSource();
+  static traversal(traversalSourceClass) {
 
 Review comment:
   We should document in jsdoc: `@param {Function} [traversalSourceClass] 
Optional GraphTraversalSource constructor.`


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
spmallette commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if 
Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491791395
 
 
   i see - now that you say this, i feel like you've told me this before - 
sorry, if that's the case. i'll try again to get Microsoft attention on this.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1105: TINKERPOP-2205 Change connection management to single request per channel

2019-05-13 Thread GitBox
spmallette commented on issue #1105: TINKERPOP-2205 Change connection 
management to single request per channel
URL: https://github.com/apache/tinkerpop/pull/1105#issuecomment-491790730
 
 
   > which, from a users perspective maintains the same behaviour as the old 
configuration, i.e. executing 16x32 queries in parallel.
   
   Thanks for this clarification. I see it now - I agree.
   
   > I am afraid the "switch" is going to be a boolean controlling if/else 
branches across the code.
   
   hmm - well, unless there aren't many such if/else situations such a change 
might just make the whole thing messy, but i can't imagine that we'd get lucky 
that way. Maybe you don't need to try to do all that. How do you feel about 
keeping this targeted at 3.4.x but not merging for the release of 3.4.2 next 
week? If we did that, we would have ~45 days of testing, review, etc for 3.4.3 
(release would be middle/end of july given our current two month release cycles 
which I believe would continue).


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] FlorianHockmann commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
FlorianHockmann commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking 
if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491788326
 
 
   @spmallette 
   
   > does Gremlin.NET need a keep-alive option?
   
   Gremlin.Net relies on the underlying WebSocket keepalive implementation 
which sends by default every 30 seconds a ping. According to [this blog 
post](https://blogs.msdn.microsoft.com/whereismysolution/2018/03/12/does-system-net-websockets-includes-a-keepalive-mechanism-which-automatically-takes-care-of-pingpong-control-frames/),
 it also responds to ping messages coming from the server.
   That is why I'm wondering why Azure apparently still terminates the 
connections. It seems to ignore those keepalive pings for its check whether a 
connection is still alive.
   But a PCAP file that actually shows the network traffic would give us 
clarity that a) pings are actually sent and answered and that b) Azure is 
actively terminating the connection which leads to the problem.
   
   @danielcweber 
   
   > I tested it with a network card reset, killing all connections, just like 
we assume CosmosDB to. The appropriate exception is then thrown.
   
   Yes, that's of course expected. But that doesn't tell us whether CosmosDB 
terminated the connections, although that's basically the only explanation I 
can think of. But to decide on a course of action we would also need to know 
why CosmosDB terminates connections. Does it really ignore keepalive pings or 
are they not sent / answered for some reason?
   
   > I think Gremlin.net should not wait for the next query to recover, but try 
right away.
   
   It doesn't try it right away because the assumption was that connections 
were closed because the server is currently not available at all. In that case, 
it makes more sense in my opinion to wait for the next query and try then 
whether the server is available again (e.g., because it was restarted).
   In your case where the connections were closed because they were inactive, 
it could make sense to make an attempt at creating new connections right away 
instead of throwing an exception.
   I would however prefer if we could avoid this situation from occurring in 
the first place instead of trying to work around it. If we can't avoid it for 
some reason, then we could make an attempt at creating new connections when all 
connections were closed before we throw an exception.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for 
Checking if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491781771
 
 
   >So, the pool should recover automatically, even after throwing a 
ConnectionPoolBusyException.
   
   Ok, there's a misunderstanding. I cannot confirm that the pool doesn't ever 
recover. It does probably. What happens is, we definitely hit 5. in your 
enumeration. I tested it with a network card reset, killing all connections, 
just like we assume CosmosDB to. The appropriate exception is then thrown.
   
   I think Gremlin.net should not wait for the next query to recover, but try 
right away.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if 
Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491781771
 
 
   >So, the pool should recover automatically, even after throwing a 
ConnectionPoolBusyException.
   Ok, there's maybe a misunderstanding. I cannot confirm that the pool doesn't 
ever recover. It does probably. What happens is, we definitely hit 5. in your 
enumeration. I tested it with a network card reset, killing all connections, 
just like we assume CosmosDB to. The appropriate exception is then thrown.
   
   I think Gremlin.net should not wait for the next query to recover, but try 
right away.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1112: TINKERPOP-2089 Added DSL support to gremlin-javascript

2019-05-13 Thread GitBox
spmallette commented on issue #1112: TINKERPOP-2089 Added DSL support to 
gremlin-javascript
URL: https://github.com/apache/tinkerpop/pull/1112#issuecomment-491781120
 
 
   @jorgebay  I'll wait for you to push the fixes you intended to add. I just 
realized though that I didn't handle testing anonymous traversals. I still need 
to go back in and do that.
   
   > but after seeing how clean a custom DSL would look like (SocialTraversal 
and SocialTraversalSource), I think it makes sense to match the functionality 
in the other GLVs
   
   great!


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on a change in pull request #1112: TINKERPOP-2089 Added DSL support to gremlin-javascript

2019-05-13 Thread GitBox
spmallette commented on a change in pull request #1112: TINKERPOP-2089 Added 
DSL support to gremlin-javascript
URL: https://github.com/apache/tinkerpop/pull/1112#discussion_r283296753
 
 

 ##
 File path: gremlin-javascript/glv/GraphTraversalSource.template
 ##
 @@ -51,7 +55,8 @@ class GraphTraversalSource {
   withRemote(remoteConnection) {
 const traversalStrategy = new 
TraversalStrategies(this.traversalStrategies);
 traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection));
-return new GraphTraversalSource(this.graph, traversalStrategy, new 
Bytecode(this.bytecode));
+var object = Object.create(this.constructor.prototype);
 
 Review comment:
   yeah - that should be deleted. 


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
spmallette commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if 
Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491779855
 
 
   > Our current assumption is still that the connections are closed by Azure 
when they are idle for a while. 
   
   @FlorianHockmann does Gremlin.NET need a keep-alive option? I assume we 
don't see this problem in true Gremlin Server implementations because of the 
server-side keep-alive that is sending pings to the client? does Gremlin.NET 
even respond to those? if not, i'm not sure i understand why we don't see it in 
Gremlin Server too. 


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] FlorianHockmann commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
FlorianHockmann commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking 
if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491779093
 
 
   > Quick question before I dig into the sources: It sounds as if Gremlin.net 
does not re-open or re-create closed connections. True?
   
   It does create new connections, but it throws an exception first for failed 
requests. The creation of new connections is actually what was fixed by this 
PR, so you'll have to build yourself from `master`. The method 
`EnsurePoolIsPopulatedAsync` is executed for every incoming request and it 
fills the pool with new connections if it's at its configured size.
   Replacing closed connections works like this:
   
   1. Query comes in
   1. `ConnectionPool` searches for an available connection 
(`GetConnectionFromPool`)
   1. A closed connection is encountered (in `TryGetAvailableConnection`).
   1. The closed connection is removed from the pool
   1. If no connection is available (e.g., because all connections were 
closed), a `ConnectionPoolBusyException` is thrown.
   1. Another query comes in
   1. `EnsurePoolIsPopulatedAsync` notices that the pool is empty and populates 
it again
   
   So, the pool should recover automatically, even after throwing a 
`ConnectionPoolBusyException`.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for 
Checking if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491761136
 
 
   >Is it possible to create a PCAP for debugging with Azure Functions
   
   Probably out of luck for PCAP and Azure Functions, but I can do it locally 
(there's nothing specific to Azure Functions).
   
   >So, is the connection idle for some time before the exception gets thrown
   
   Definitely - the exception just happens after a day or more, and there's 
nothing really going on at the moment on that service, so this is most probably 
the case.
   
   Quick question before I dig into the sources: It sounds as if Gremlin.net 
does not re-open or re-create closed connections. True?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if 
Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491761136
 
 
   >Is it possible to create a PCAP for debugging with Azure Functions
   
   Probably out of luck for PCAP and Azure Functions, but I can do it locally 
(there's nothing specific to Azure Functions).
   
   >So, is the connection idle for some time before the exception gets thrown
   Definitely - the exception just happens after a day or more, and there's 
nothing really going on at the moment on that service, so this is most probably 
the case.
   
   Quick question before I dig into the sources: It sounds as if Gremlin.net 
does not re-open or re-create closed connections. True?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] jorgebay commented on a change in pull request #1112: TINKERPOP-2089 Added DSL support to gremlin-javascript

2019-05-13 Thread GitBox
jorgebay commented on a change in pull request #1112: TINKERPOP-2089 Added DSL 
support to gremlin-javascript
URL: https://github.com/apache/tinkerpop/pull/1112#discussion_r283248976
 
 

 ##
 File path: gremlin-javascript/glv/GraphTraversalSource.template
 ##
 @@ -51,7 +55,8 @@ class GraphTraversalSource {
   withRemote(remoteConnection) {
 const traversalStrategy = new 
TraversalStrategies(this.traversalStrategies);
 traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection));
-return new GraphTraversalSource(this.graph, traversalStrategy, new 
Bytecode(this.bytecode));
+var object = Object.create(this.constructor.prototype);
 
 Review comment:
   Looks like a leftover.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] jorgebay commented on a change in pull request #1112: TINKERPOP-2089 Added DSL support to gremlin-javascript

2019-05-13 Thread GitBox
jorgebay commented on a change in pull request #1112: TINKERPOP-2089 Added DSL 
support to gremlin-javascript
URL: https://github.com/apache/tinkerpop/pull/1112#discussion_r283250472
 
 

 ##
 File path: 
gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
 ##
 @@ -31,13 +31,17 @@ const Graph = require('../structure/graph').Graph;
  */
 class AnonymousTraversalSource {
 
+  constructor(traversalSourceClass) {
+this.traversalSourceClass = traversalSourceClass;
+  }
+
   /**
* Constructs an {@code AnonymousTraversalSource} which will then be 
configured to spawn a
* {@link GraphTraversalSource}.
* @returns {AnonymousTraversalSource}.
*/
-  static traversal() {
-return new AnonymousTraversalSource();
+  static traversal(traversalSourceClass) {
 
 Review comment:
   We should document in jsdoc: `@param {GraphTraversalSource} 
[traversalSourceClass] Optional GraphTraversalSource constructor.`


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] FlorianHockmann commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
FlorianHockmann commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking 
if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491730080
 
 
   > All 4 connections have reached their MaxInProcessPerConnection limit of 
32. Consider increasing either the PoolSize or the MaxInProcessPerConnection 
limit.
   
   This exception is currently thrown if all connections reached their limit 
(for which case the text makes sense) **or** if all connections in the pool are 
already in _Closed_  state and where therefore removed from the pool while 
trying to find an available connection. I just created 
[TINKERPOP-2215](https://issues.apache.org/jira/browse/TINKERPOP-2215) to throw 
a different exception in the latter case.
   
   As a starting point to further dig into this, a PCAP file could be helpful 
to check what happens right before the exception gets thrown. Is it possible to 
create a PCAP for debugging with Azure Functions?
   Our current assumption is still that the connections are closed by Azure 
when they are idle for a while. It would be good to know whether that's 
actually the case. So, is the connection idle for some time before the 
exception gets thrown?
   In that case we could evaluate how to proceed. I can think of a few 
different options, but I don't know enough about the problem right now to 
really evaluate which approach makes most sense. I would especially like to 
have a confirmation that Azure closes connections even if a ping message is 
sent regularly which we do by default in Gremlin.Net exactly to avoid problems 
like this one.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for 
Checking if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491709887
 
 
   Unfortunately, I can't confirm the issue to be solved. We still run into 
pool draining on an Azure Function. We use CosmosDB. The message is:
   
   All 4 connections have reached their MaxInProcessPerConnection limit of 32. 
Consider increasing either the PoolSize or the MaxInProcessPerConnection limit.
   
   @FlorianHockmann This has previously been linked to CosmosDB, which may or 
may not be the cause. Let me know how I can help, I will free up the resources 
to get this examined further.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber edited a comment on issue #1096: TINKERPOP-2090: Fix Sign for 
Checking if Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491709887
 
 
   Unfortunately, I can't confirm the issue to be solved. We still run into 
pool draining on an Azure Function. We use CosmosDB. The message is:
   
   All 4 connections have reached their MaxInProcessPerConnection limit of 32. 
Consider increasing either the PoolSize or the MaxInProcessPerConnection limit.
   
   @FlorianHockmann This has previously been linked to CosmosDB, which may or 
may not be the cause. Let me know how I can help, I will free up the ressources 
to get this examined further.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] danielcweber commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if Connection Pool Needs to be Repopulated

2019-05-13 Thread GitBox
danielcweber commented on issue #1096: TINKERPOP-2090: Fix Sign for Checking if 
Connection Pool Needs to be Repopulated
URL: https://github.com/apache/tinkerpop/pull/1096#issuecomment-491709887
 
 
   Unfortunately, I can't confirm the issue to be solved. We still run into 
pool draining on an Azure Function. We use CosmosDB. The message is:
   
   All 4 connections have reached their MaxInProcessPerConnection limit of 32. 
Consider increasing either the PoolSize or the MaxInProcessPerConnection limit.
   
   @FlorianHockmann This has previously been linked to CosmosDB, which may or 
may not be the cause. Let me know how I can help, I will free up the ressources 
to help getting this examined.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services