Hi Justin,

Thank you for the fast response and quick resolution to our issue with
Artemis. We really appreciate your help and are looking forward to the fix
in the next release.

On Fri, Jan 17, 2025 at 5:52 PM Justin Bertram <jbert...@apache.org> wrote:

> 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?
> >
> >
>

Reply via email to