[jira] [Commented] (TINKERPOP-2019) Gremlin.Net.Driver.WebSocketConnection throws System.InvalidOperationException

2018-11-15 Thread Sami (JIRA)


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

Sami commented on TINKERPOP-2019:
-

No, not resolved yet, Stephen. The underlying issue here is that the library 
encounters a WinHttpException when a web socket connection is terminated 
abnormally, and that happens very seldom. When this occurs, however, the web 
socket state is still recognized as "Open" and stays in the pool. And when the 
'bad' connection gets reused (i.e. reissued by the pool), then the library 
throws the InvalidOperationException. That still occurs in 3.4-rc2.

We've been working with Microsoft (O.Towers) to identify why the web socket 
state isn't recognized correctly and have been using a fork which temporarily 
fixes the state. Our solution may be to use .NET Core 2.1 (which, according to 
MS and my understanding, should have a rewrite of the underlying web socket 
implementation). We're working on a proof of concept to verify and will update 
this thread when we're sure.

-Sami

> Gremlin.Net.Driver.WebSocketConnection throws System.InvalidOperationException
> --
>
> Key: TINKERPOP-2019
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2019
> Project: TinkerPop
>  Issue Type: Bug
>  Components: dotnet
>Affects Versions: 3.3.3
> Environment: Azure App Service
>Reporter: Sami
>Priority: Critical
>
> We're getting the following {{System.InvalidOperationException}} error 
> message:
> {code:c#}
> "There is already one outstanding 'SendAsync' call for this WebSocket 
> instance. ReceiveAsync and SendAsync can be called simultaneously, but at 
> most one outstanding operation for each of them is allowed at the same time.
> Problem Id:
> System.InvalidOperationException at 
> Gremlin.Net.Driver.WebSocketConnection+d__5.MoveNext"{code}
>  
>  We get this exception sporadically and only a few times out of thousands. 
> Unfortunately we have not been able to reproduce it.
>   
>  I understand that when dealing with web sockets, it is allowed to have only 
> a single pending "send" or a single pending "receive".
>   
>  After looking at GitHub's WebSocketConnection class, I don't see any 
> orchestration between SendMessageAsync's {{_client.SendAsync}} (currently 
> line 54) and ReceiveMessageAsync's {{_client.ReceiveAsync}} (currently line 
> 66). 
>   
>  Reference Link: 
>  
> [https://github.com/apache/tinkerpop/blob/master/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs]
>   
>  I'm wondering if not having orchestration in the WebSocketConnection class 
> to keep the single pending "send" or a single pending "receive" rule may be 
> the cause. 
>   
>  In our .NET Core web api application, we create the GremlinConnection as a 
> singleton in Startup.cs and then have one central call that makes Gremlin 
> calls; i.e. it's a very straightforward implementation.
>   
>  Startup.cs:
> {code:c#}
> public void ConfigureServices(IServiceCollection services)
> {
> //...other stuff removed for brevity
> services.AddSingleton();
> }{code}
>  
>  Reader.cs:
> {code:c#}
> public async Task> ExecuteGremlinQuery(string 
> query)
> {
> try
> {
> return await _gremlinConnection.Client.SubmitAsync(query);
> }
> catch (Gremlin.Net.Driver.Exceptions.ResponseException responseException)
> {
> //our error handling removed for brevity!
> }
> }{code}
>   
>  We use the Gremlin.Net version 3.3.3 nuget package and the 
> Microsoft.NETCore.App SDK
>   
>  Would it be possible to identify if this is indeed a bug on Gremlin.NET? 
>  And if it is, any thoughts on a best-practice (temporary) work-around that 
> we can implement?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (TINKERPOP-2038) Make groovy script cache size configurable

2018-11-15 Thread stephen mallette (JIRA)


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

stephen mallette closed TINKERPOP-2038.
---
   Resolution: Done
Fix Version/s: 3.3.5
   3.4.0

> Make groovy script cache size configurable
> --
>
> Key: TINKERPOP-2038
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2038
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: groovy
>Affects Versions: 3.2.9
>Reporter: Robert Dale
>Assignee: stephen mallette
>Priority: Minor
> Fix For: 3.4.0, 3.3.5
>
>
> See 
> [thread|https://groups.google.com/d/msg/gremlin-users/fm6Og2i1uXw/0J3F309IBAAJ]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (TINKERPOP-2038) Make groovy script cache size configurable

2018-11-15 Thread ASF GitHub Bot (JIRA)


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

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

spmallette closed pull request #990: TINKERPOP-2038 Made the 
GremlinGroovyScriptEngine cache configurable
URL: https://github.com/apache/tinkerpop/pull/990
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


> Make groovy script cache size configurable
> --
>
> Key: TINKERPOP-2038
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2038
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: groovy
>Affects Versions: 3.2.9
>Reporter: Robert Dale
>Assignee: stephen mallette
>Priority: Minor
>
> See 
> [thread|https://groups.google.com/d/msg/gremlin-users/fm6Og2i1uXw/0J3F309IBAAJ]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work started] (TINKERPOP-1942) Binary serialization format

2018-11-15 Thread Jorge Bay (JIRA)


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

Work on TINKERPOP-1942 started by Jorge Bay.

> Binary serialization format
> ---
>
> Key: TINKERPOP-1942
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1942
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: io
>Affects Versions: 3.3.4
>Reporter: Jorge Bay
>Assignee: Jorge Bay
>Priority: Major
>
> We should provide a binary serialization format designed to reduce 
> serialization overhead and minimizing the size of the payload that is 
> transmitted over the wire.
> It could be implemented in a very similar way as Kryo support but with 
> interoperability in mind and ultimately we could fade Gryo out, as now with 
> the GLVs it doesn't have a role to play.
> The main benefit would be the performance improvement, making serialization 
> and deserialization processing time negligible on both the server and the 
> client.
> Background: 
> https://lists.apache.org/thread.html/13e70235591853801bab16ed457ee4f56f3dfe2d1c5817c34a036408@%3Cdev.tinkerpop.apache.org%3E



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Re: Failure to Build with Java 10.0.2

2018-11-15 Thread Stephen Mallette
I dunnoour target at this point is to have TinkerPop building on Java
11, but there's a bunch of prerequisites to having that happen i think. I
think you need to stick with Java 8 for now unless you can get 11 working.

On Wed, Nov 14, 2018 at 11:27 PM Atri Sharma  wrote:

> I am unable to build master branch with Java 10.0.2 on Mac OS Mojave.
>
> [ERROR] Failed to execute goal on project gremlin-core: Could not
> resolve dependencies for project
> org.apache.tinkerpop:gremlin-core:jar:3.4.0-SNAPSHOT: Could not find
> artifact com.sun:tools:jar:10.0.2 at specified path
>
> /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/../lib/tools.jar
>
> Is there a tools.jar replacement that we can use, since tools.jar was
> deprecated in Java 9?
>
> Atri
>