[
https://issues.apache.org/jira/browse/ARTEMIS-2883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Clebert Suconic closed ARTEMIS-2883.
------------------------------------
Resolution: Works for Me
there was a lot of changes in large message..
please try with 2.19.0 and if still an issue, let us know.. reopen the issue on
that case.
> Websocket Implementation Breaks with Large Messages
> ---------------------------------------------------
>
> Key: ARTEMIS-2883
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2883
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: MQTT
> Affects Versions: 2.12.0
> Environment: Artemis Version: 2.12.0
> Websocket Implementations: ngx-mqtt: 6.13.0
> Chrome: 84.0.4147.135
> Reporter: Jan Kerkenhoff
> Priority: Major
> Attachments: 2020-08-19 13_25_26-172.16.94.101 - Remote Desktop
> Connection.png
>
>
> When publishing a large Message into an Topic (ca 80kb) and subscribing to
> this topic via a websocket connection, the websocket connection gets broken
> by artemis sending the wrong packages.
>
> Steps to reproduce:
> Create a Broker with --no-autotune
> Subscribe to an topic with a large retained message via an mqtt websocket
>
> When this happens the following is seen in the artemis log:
> {code:java}
> 2020-08-19 19:13:08,697 WARN [org.apache.activemq.artemis.core.server]
> AMQ222061: Client connection failed, clearing up resources for session
> f1cd4c98-e23c-11ea-bb3c-00155d89640c
> 2020-08-19 19:14:55,535 WARN
> [io.netty.channel.AbstractChannelHandlerContext] Failed to mark a promise as
> failure because it has succeeded already:
> DefaultChannelPromise@33ebd0(success): java.lang.IllegalArgumentException:
> promise already done: DefaultChannelPromise@33ebd0(success)
> at
> io.netty.channel.AbstractChannelHandlerContext.isNotValidPromise(AbstractChannelHandlerContext.java:885)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:774)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> org.apache.activemq.artemis.core.server.protocol.websocket.WebSocketFrameEncoder.writeContinuationFrame(WebSocketFrameEncoder.java:64)
> [artemis-server-2.12.0.jar:2.12.0]
> at
> org.apache.activemq.artemis.core.server.protocol.websocket.WebSocketFrameEncoder.write(WebSocketFrameEncoder.java:45)
> [artemis-server-2.12.0.jar:2.12.0]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:112)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1102)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> [netty-all-4.1.48.Final.jar:4.1.48.Final]
> at
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> [artemis-commons-2.12.0.jar:2.12.0]
> {code}
> Error Message from the Browser (see attached screenshot)
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)