You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Florian Hockmann (JIRA)" <ji...@apache.org> on 2018/06/27 17:30:00 UTC

[jira] [Closed] (TINKERPOP-1978) Check for Websocket connection state when retrieved from Connection Pool missing

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

Florian Hockmann closed TINKERPOP-1978.
---------------------------------------
       Resolution: Fixed
    Fix Version/s: 3.2.10
                   3.3.4
                   3.4.0

> 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
>            Assignee: Florian Hockmann
>            Priority: Major
>             Fix For: 3.4.0, 3.3.4, 3.2.10
>
>
> 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)