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

stephen mallette commented on TINKERPOP-2044:
---------------------------------------------

We might need to go with the suggestion from [~rdale] I'm not sure going 
protocol specific is smart anymore. never mind that it's kinda awkward give the 
way things are currently setup but the ping operation is also not qualifying 
that the "engine" in the host is operational - kinda bypassing that which might 
not be good. Still thinking.

> Cannot reconnect to Azure cosmos host that becomes available again
> ------------------------------------------------------------------
>
>                 Key: TINKERPOP-2044
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2044
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver
>    Affects Versions: 3.3.3
>            Reporter: Dantis P S
>            Assignee: stephen mallette
>            Priority: Major
>
> If a Azure Cosmos Gremlin host goes down and if it becomes available again, 
> the tinkerpop3 java driver cannot reconnect to it. 
> Sample code is available at [https://github.com/cancure/tinkerpopcosmos]
>  
> These are the steps to reproduce - 
> 1) Start the application after providing proper connection details in 
> remote.yaml file.
> 2) Call the end point POST [http://localhost:8080/query.] Pass a valid 
> gremlin query as HTTP body E.g. g.V(1).id()
> 3) Disconnect computer from internet. 
> 4) Do step 2.
> 5) Reconnect computer to the internet.
> 6) Do step 2. 
> Any query executed from this point onwards gets the error - 
> "java.lang.RuntimeException: java.util.concurrent.TimeoutException: Timed out 
> while waiting for an available host - check the client configuration and 
> connectivity to the server if this message persists".
>  
> The issue seems to be coming from 
> org.apache.tinkerpop.gremlin.driver.ConnectionPool.java. In line #403, the 
> gremlin query used for ping message is '' (Empty string in single quotes). 
> final RequestMessage ping = 
> RequestMessage.build(Tokens.OPS_EVAL).add(Tokens.ARGS_GREMLIN, "''").create();
>  
> Cosmos server returns an error saying that the gremlin query's grammar is 
> incorrect. Because of this error the rest of the lines of the method does not 
> get executed.
>  
> Fix will be to use a gremlin query which is valid for all supported graph DBs.
>  



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

Reply via email to