[
https://issues.apache.org/jira/browse/QPID-8758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18117060#comment-18117060
]
ASF subversion and git services commented on QPID-8758:
-------------------------------------------------------
Commit 2f198a9f3af96709c833a2a858e1c1b8bf37065d in qpid-broker-j's branch
refs/heads/main from Daniil Kirilyuk
[ https://gitbox.apache.org/repos/asf?p=qpid-broker-j.git;h=2f198a9f3a ]
QPID-8758: [Broker-J] Ensure AMQP-over-WebSocket connections terminate after an
unanswered close
> [Broker-J] Ensure AMQP-over-WebSocket connections terminate after an
> unanswered close
> -------------------------------------------------------------------------------------
>
> Key: QPID-8758
> URL: https://issues.apache.org/jira/browse/QPID-8758
> Project: Qpid
> Issue Type: Bug
> Components: Broker-J
> Affects Versions: qpid-java-broker-10.1.0
> Reporter: Daniil Kirilyuk
> Assignee: Daniil Kirilyuk
> Priority: Major
> Fix For: qpid-java-broker-10.1.1
>
>
> AMQP-over-WebSocket connections may remain registered indefinitely when the
> remote peer does not complete either the AMQP or WebSocket closing handshake.
> When an AMQP connection begins closing, a ConnectionClosingTicker is added
> with a deadline based on connection.closeResponseTimeout. After that deadline
> expires, the ticker invokes ServerNetworkConnection.close().
> For ordinary TCP connections, NonBlockingConnection.close() marks the
> connection closed and wakes the selector, which proceeds with physical socket
> teardown. For WebSocket connections, ConnectionWrapper.close() calls Jetty’s
> Session.close(). This sends a WebSocket CLOSE frame and waits for the peer’s
> CLOSE response.
> The WebSocket provider disables Jetty idle-timeout processing when the
> session opens:
> {code:java}
> session.setIdleTimeout(Duration.ZERO);
> {code}
> Consequently, if the peer becomes unreachable without sending FIN or RST or
> simply does not answer the CLOSE frame, Jetty has no deadline that forces the
> underlying connection to terminate. The connection remains in
> WebSocketProvider._activeConnections.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]