Don't worry about creating a Jira. I created one already [1]. I'll be sending a PR shortly so this should be resolved in 2.40.0.
Justin [1] https://issues.apache.org/jira/browse/ARTEMIS-5249 On Fri, Jan 17, 2025 at 9:29 AM Justin Bertram <jbert...@apache.org> wrote: > What specific WebSocket protocol documentation are you looking at? > > Netty's io.netty.handler.codec.http.websocketx.WebSocketProtocolHandler > [1] clearly handles pong frames. Also, the spec [2] says this: > > A Pong frame MAY be sent unsolicited. This serves as a > unidirectional heartbeat. A response to an unsolicited Pong frame is > not expected. > > Can you open a Jira [3] for this? Please include the exception in the > description of the Jira to help other folks who are searching find it. > Thanks! > > It's also worth noting that using amqpIdleTimeout=0 is a bit dangerous as > any connection that fails without being explicitly closed will not be > cleaned up on the broker. This risks an accumulation of "zombie" > connections on the broker which may starve legitimate connections of > resources and ultimately cause the broker to fail. > > > Justin > > [1] > https://github.com/netty/netty/blob/4.1/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketProtocolHandler.java > [2] https://www.rfc-editor.org/rfc/rfc6455#section-5.5.3 > [3] https://issues.apache.org/jira/browse/ARTEMIS > > On Fri, Jan 17, 2025 at 2:00 AM <optimuser...@gmail.com> wrote: > >> Hello everyone, >> >> >> >> We are using ActiveMQ Artemis Server version 2.33.0 on a Windows platform >> and run it as a service. >> We use AMQP over WebSocket protocol and have configured the websocket >> acceptor to have amqpIdleTimeout=0. >> In our setup we use IIS as a reverse proxy between the clients and the >> broker. The clients will no longer send keep-alive requests because of the >> amqpIdleTimeout configuration. >> >> >> >> However IIS does send Pong frames to the broker after the client is idle >> for 30s. >> Looking at the implementation of >> WebSocketServerHandler.handleWebSocketFrame, it seems that the Pong frame >> is not supported and an exception is thrown. The exception appears in the >> logs. >> >> >> >> Looking at the WebSocket protocol documentation, it seems that a Pong >> request should be supported. >> >> >> >> Our issue is that Artemis closes the connection immediately after >> receiving the Pong. Is this intended with regard to the protocol? > >