Kato Kaito created QPID-8792:
--------------------------------
Summary: [Broker-J] Enforce the shared connection-close deadline
for WebSocket transport
Key: QPID-8792
URL: https://issues.apache.org/jira/browse/QPID-8792
Project: Qpid
Issue Type: Bug
Components: Broker-J
Affects Versions: qpid-java-broker-10.1.1
Reporter: Kato Kaito
QPID-8788 introduced a shared connection-close deadline for TCP/TLS
connections. WebSocket connections require equivalent behavior.
WebSocketConnection currently inherits the default ServerNetworkConnection
implementations: setCloseDeadline() does nothing, and abort() delegates to
close(). WebSocket close() starts a separate transport timeout while retaining
pending writes for draining.
Consequently, when a peer stops reading and outbound writes are blocked, expiry
of connection.closeResponseTimeout can initiate another graceful-close period
governed by qpid.port.final_write_timeout. The connection can therefore remain
open beyond the configured close-response timeout.
The WebSocket transport should use the same deadline throughout connection
shutdown, including final writes. Once the deadline expires, it should abort
the transport without starting another drain timeout.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]