[ https://issues.apache.org/jira/browse/TINKERPOP-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16370023#comment-16370023 ]
ASF GitHub Bot commented on TINKERPOP-1726: ------------------------------------------- Github user robertdale commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/800#discussion_r169305818 --- Diff: gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java --- @@ -293,6 +312,21 @@ private static SslContext createServerSslContext() { return scriptEngineConf; } + @Test + public void shouldPingChannelIfClientDies() throws Exception { --- End diff -- You should be able test for a dead client by opening a raw WebSocket, or even TCP, connection and simply not responding to anything. Or separately, just disable the idleWriteLimit (keepalive) and connect. Then it should timeout the client. > Support WebSockets ping/pong keep-alive in Gremlin server > --------------------------------------------------------- > > Key: TINKERPOP-1726 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1726 > Project: TinkerPop > Issue Type: Improvement > Components: server > Affects Versions: 3.2.5 > Reporter: Andy Davidoff > Priority: Major > > The ping/pong keep-alive system that is part of the WebSockets spec provides > for successful identification of a dropped connection from either end of the > connection. > Currently, the Java client successfully issues keep-alive pings and receives > pong replies from the server. Unfortunately, the server does not actively > ping clients, nor does it discover and react to dead clients when keep-alive > fails. > This can cause pending client writes to lock up the server indefinitely when > a client spontaneously disconnects. -- This message was sent by Atlassian JIRA (v7.6.3#76005)