[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2021-04-30 Thread Florian Hockmann (Jira)


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

Florian Hockmann commented on TINKERPOP-2336:
-

Good to know. I'll submit a PR for .NET as the change is really trivial.

> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
> Fix For: 3.5.0, 3.3.11, 3.4.7
>
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2021-04-30 Thread Stephen Mallette (Jira)


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

Stephen Mallette commented on TINKERPOP-2336:
-

yeah...that should have been removed in 3.5.0. i guess i'd not gotten to all 
the drivers. it won't hurt anything to continue to send it but it is not really 
relevant anymore. we should fix that for 3.5.1. 

* TINKERPOP-2559 - .NET
* TINKERPOP-2560 - Python
* TINKERPOP-2561 - Javascript

> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
> Fix For: 3.5.0, 3.3.11, 3.4.7
>
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2021-04-30 Thread Florian Hockmann (Jira)


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

Florian Hockmann commented on TINKERPOP-2336:
-

I just saw this issue linked in the upgrade docs which say:
{quote}TinkerPop drivers no longer send the session "close" message to kill a 
session. The close of the connection itself should be responsible for the close 
of the session.
{quote}
I think we forgot to also remove this functionality from the GLV drivers. At 
least for Gremlin.Net, I still see that we send a message to close the session: 
[https://github.com/apache/tinkerpop/blob/e71a7a9b68c318f54c17961c0c79828d7bbaff04/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs#L273]

Or is that something different?

 

> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
> Fix For: 3.5.0, 3.3.11, 3.4.7
>
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2020-03-05 Thread Stephen Mallette (Jira)


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

Stephen Mallette commented on TINKERPOP-2336:
-

It's worth noting that in the process of the 3.5.0 changes I manually tested 
the prior version of server/driver against 3.5.0 and ensured compatibility and 
expected behavior. 3.4.x/3.3.x driver has no problem dealing with the 
modification to the 3.5.0 protocol around the now removed session "close" 
message and 3.5.0 driver which no longer sends the "close" message works nicely 
with the 3.3.x/3.4.x servers that still process that message. 

> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
> Fix For: 3.5.0, 3.3.11, 3.4.7
>
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2020-03-05 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on pull request #1255: TINKERPOP-2336 Added 
getMaxWaitForClose java driver setting.
URL: https://github.com/apache/tinkerpop/pull/1255
 
 
   
 

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


> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2020-02-27 Thread ASF GitHub Bot (Jira)


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

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

spmallette commented on pull request #1255: TINKERPOP-2336 Added 
getMaxWaitForClose java driver setting.
URL: https://github.com/apache/tinkerpop/pull/1255
 
 
   https://issues.apache.org/jira/browse/TINKERPOP-2336
   
   Deprecated the "close" message for sessions along with its driver setting. 
The driver should stay compatible with older server versions, but the server 
now closes sessions with the close of the connection and there no longer is a 
block while all messages return from the server after a `Client.close()`.
   
   All tests pass with `docker/build.sh -t -n -i`
   
   VOTE +1
 

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


> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2020-02-11 Thread Stephen Mallette (Jira)


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

Stephen Mallette commented on TINKERPOP-2336:
-

These changes have required some thinking, but I have what I believe will be 
the core of the PR to 3.3-dev here:

https://github.com/apache/tinkerpop/commit/4bd6a47abf9889e420427a660fe71a3f7866f78b

As things are set now, the driver will continue to send the "close" message 
automatically and the server will still support it, however the introduction of 
the {{maxWaitForClose}} configuration at least enables the driver to not block 
while waiting for a reply to all messages in which case the close of the 
connection can properly kill the server process (also now implemented on the 
server). 

Going forward, I think 3.4-dev behavior will remain unchanged. When this gets 
to master i think we will simply remove the deprecated 
{{maxWaitForSessionClose}} configuration, send the close message for backward 
compatibility with older servers (no waiting for a response though), have the 
server simply no-op handle the close operation and bind one session to one 
connection. So, for 3.5.0 there would be full compatibility with old drivers 
and new and some minor breaking behavior related to having more than one 
connection per session which as mentioned in the previous comment doesn't seem 
to make sense anyway. 

> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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


[jira] [Commented] (TINKERPOP-2336) Allow close of channel without having to wait for server

2020-02-07 Thread Stephen Mallette (Jira)


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

Stephen Mallette commented on TINKERPOP-2336:
-

It seems that currently we allow for more than one {{Client}} to connect to the 
same session. I'm not sure what the value in that is, but it causes a bit of 
trouble because with multiple channels bound to the same session the session 
can't simply subscribe to the channel that created it to determine when it is 
closed. it has to subscribe to any channel that interacts with it and then the 
close of one {{Client}} in that situations gets sorta messy. Does the close of 
one client mean kill it all? or do all clients have to close for the session to 
be closed. Anyway, seems weird. I'm inclined to seal off that "feature" and 
simply bind one {{Client}} to one session. It's not like the requests will 
process in parallel or anything - they just end up queuing in the order 
received and I don't think that use case makes particular sense for how we 
perceive sessions to be used. I suppose that's a bit of a breaking change but 
I'm not sure we need to classify it as such since we didn't really promote that 
approach and I suppose such breaking functionality wouldn't appear until we 
removed the deprecation of the close message which should. 

> Allow close of channel without having to wait for server
> 
>
> Key: TINKERPOP-2336
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2336
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: driver
>Affects Versions: 3.3.10
>Reporter: Stephen Mallette
>Assignee: Stephen Mallette
>Priority: Major
>  Labels: deprecation
>
> The java driver hangs about waiting for results to return after a 
> {{Client.close()}} is called. That creates problems if there is a desire to 
> kill the client but there is a long run query on the server and that query is 
> configured to an especially long timeout. I think there just needs to be a 
> configuration for the amount of time the client will wait for results before 
> just giving up and shutting down. A byproduct of this change is that by 
> allowing the {{Client}} to close the channel while a query is executing 
> creates a cancellation sort of functionality which should issue an interrupt 
> to the traversal executing on the server. 
> With this change in place it sort of creates a feature somewhat at odds with 
> the session "close" message which tries to release a specific session. The 
> problem with that message is that it really is only useful if there is not 
> already a message ahead of it getting processed and stuck otherwise it is 
> queued and won't be processed until the message ahead of it is handled. 
> Obviously, if the goal is to kill the session because of a long run process 
> then this feature becomes a bit unhelpful. If the close of the channel 
> accomplishes the same thing as the close message then I think we would want 
> to deprecate the close message and remove it for 3.5.0. 



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