[
https://issues.apache.org/jira/browse/TINKERPOP-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16623883#comment-16623883
]
ASF GitHub Bot commented on TINKERPOP-2026:
-------------------------------------------
Github user spmallette commented on the issue:
https://github.com/apache/tinkerpop/pull/925
looks like this is targetted for all the open release branches: 3.2.10,
3.3.4 and 3.4.0. we just agreed on the dev list to push of 3.4.0 for a few
months as it doesn't feel "done". we did however agree to do a 3.4.0-rc2
release as early as next week. Since florian gave the ok, i will likely merge
this one for him so that it lands in time for the release candidate.
> Gremlin.Net.Driver should check ClientWebSocket.State before closing
> --------------------------------------------------------------------
>
> Key: TINKERPOP-2026
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2026
> Project: TinkerPop
> Issue Type: Improvement
> Components: dotnet
> Affects Versions: 3.2.9
> Reporter: Florian Hockmann
> Assignee: Florian Hockmann
> Priority: Minor
>
> User [~samimajed] described in a comment for TINKERPOP-2019 a situation where
> the Gremlin.Net.Driver tries to close a {{ClientWebSocket}} which fails
> because it was apparently already closed:
> {code}
> System.Net.WebSockets.WebSocketException:
> at System.Net.WebSockets.WebSocketValidate.ThrowIfInvalidState
> (System.Net.WebSockets.Client, Version=4.1.0.0, Culture=neutral,
> PublicKeyToken=b03f5f7f11d50a3a)
> at System.Net.WebSockets.WinHttpWebSocketState.InterlockedCheckAndUpdateState
> (System.Net.WebSockets.Client, Version=4.1.0.0, Culture=neutral,
> PublicKeyToken=b03f5f7f11d50a3a)
> at System.Net.WebSockets.WinHttpWebSocket+<CloseAsync>d__30.MoveNext
> (System.Net.WebSockets.Client, Version=4.1.0.0, Culture=neutral,
> PublicKeyToken=b03f5f7f11d50a3a)
> [...]
> at Gremlin.Net.Driver.WebSocketConnection+<CloseAsync>d__4.MoveNext
> (Gremlin.Net, Version=3.3.0.0, Culture=neutral,
> PublicKeyToken=d2035e9aa387a711)
> [...]
> {code}
> Gremlin.Net should check the state of the {{ClientWebSocket}} before trying
> to close it as the server could have already closed the connection.
> [The implementation for this in
> SignalR|https://github.com/SignalR/SignalR/blob/1fba14fa3437e24c204dfaf8a18db3fce8acad3c/src/Microsoft.AspNet.SignalR.Core/Owin/WebSockets/WebSocketHandler.cs#L92]
> could be a good starting point as it uses the same underlying WebSocket
> implementation.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)