Jamilu Abubakar created TINKERPOP-1978:
------------------------------------------

             Summary: Check for Websocket connection state when retrieved from 
Connection Pool missing
                 Key: TINKERPOP-1978
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1978
             Project: TinkerPop
          Issue Type: Bug
          Components: dotnet
    Affects Versions: 3.3.3
            Reporter: Jamilu Abubakar


When retrieving a connection from the connection pool there is no check to see 
what the current connection state of the websocket is before it is used.  This 
means that if the websocket were to be closed because the server recycled or 
the connection was aborted by the server since it was last used and its Send 
method were to be called the following exception would be thrown:
{quote}Error during execution ExecuteJObjectQueryAsync method. Exception: 
System.Net.Http.WinHttpException (0x80072EFF): The connection with the server 
was terminated abnormally

at System.Net.WebSockets.WinHttpWebSocket.SendAsync(ArraySegment`1 buffer, 
WebSocketMessageType messageType, Boolean endOfMessage, CancellationToken 
cancellationToken)

at System.Net.WebSockets.WebSocketHandle.SendAsync(ArraySegment`1 buffer, 
WebSocketMessageType messageType, Boolean endOfMessage, CancellationToken 
cancellationToken)

at Gremlin.Net.Driver.WebSocketConnection.<SendMessageAsync>d__5.MoveNext()
{quote}
 

Please add check the Websocket state before use, handle exceptions due to 
closed or aborted connections and ideally have an extensible retry handler.



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

Reply via email to