You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Justin Bertram (Jira)" <ji...@apache.org> on 2022/01/12 15:40:00 UTC

[jira] [Commented] (ARTEMIS-1184) Large MQTT publish packet size fails when using QoS 1

    [ https://issues.apache.org/jira/browse/ARTEMIS-1184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17474634#comment-17474634 ] 

Justin Bertram commented on ARTEMIS-1184:
-----------------------------------------

I actually can't reproduce this. I've added a test in my [MQTT 5 PR|https://github.com/apache/activemq-artemis/pull/3907] which uses a 256MB message and it works fine. Feel free to re-open this later if you can provide a test-case (or at least specific steps) to reproduce.

> Large MQTT publish packet size fails when using QoS 1
> -----------------------------------------------------
>
>                 Key: ARTEMIS-1184
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1184
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: MQTT
>    Affects Versions: 2.1.0
>            Reporter: Justin Engelking
>            Priority: Critical
>
> Attempting to publish an MQTT packed sized at roughly 1.9MB works when sending over QoS 0, but when attempting to publish on QoS 1, the publication fails.  MQTT specification seems to allow for messages up to the size of 256MB, and we have been able to use other MQTT brokers (Mosquitto) to send this size of packet in the past.
> artemis.log
> 13:52:05,883 INFO  [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server
> 13:52:05,896 INFO  [org.apache.activemq.artemis.core.server] AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=false,journalDirectory=./data/journal,bindingsDirectory=./data/bindings,largeMessagesDirectory=./data/large-messages,pagingDirectory=./data/paging)
> 13:52:05,932 INFO  [org.apache.activemq.artemis.core.server] AMQ221013: Using NIO Journal
> 13:52:05,971 INFO  [org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being adjusted to 1/2 of the JVM max size (-Xmx). being defined as 477,364,224
> 13:52:05,993 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE
> 13:52:05,994 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-amqp-protocol]. Adding protocol support for: AMQP
> 13:52:05,994 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-hornetq-protocol]. Adding protocol support for: HORNETQ
> 13:52:05,994 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for: MQTT
> 13:52:05,994 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-openwire-protocol]. Adding protocol support for: OPENWIRE
> 13:52:05,995 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-stomp-protocol]. Adding protocol support for: STOMP
> 13:52:06,057 INFO  [org.apache.activemq.artemis.core.server] AMQ221034: Waiting indefinitely to obtain live lock
> 13:52:06,058 INFO  [org.apache.activemq.artemis.core.server] AMQ221035: Live Server Obtained live lock
> 13:52:08,136 ERROR [org.apache.activemq.artemis.core.server] AMQ224009: Cannot find message 51
> 13:52:08,202 INFO  [org.apache.activemq.artemis.core.server] AMQ221003: Deploying queue DLQ
> 13:52:08,204 INFO  [org.apache.activemq.artemis.core.server] AMQ221003: Deploying queue ExpiryQueue
> 13:52:10,130 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started NIO Acceptor at 0.0.0.0:61616 for protocols [CORE,MQTT,AMQP,STOMP,HORNETQ,OPENWIRE]
> 13:52:10,146 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started NIO Acceptor at 0.0.0.0:5445 for protocols [HORNETQ,STOMP]
> 13:52:10,160 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started NIO Acceptor at 0.0.0.0:5672 for protocols [AMQP]
> 13:52:10,174 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started NIO Acceptor at 0.0.0.0:1883 for protocols [MQTT]
> 13:52:10,189 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started NIO Acceptor at 0.0.0.0:61613 for protocols [STOMP]
> 13:52:10,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
> 13:52:10,191 INFO  [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.1.0 [0.0.0.0, nodeID=fa30922b-416c-11e7-8816-e8b1fcef7ed2] 
> 13:52:11,487 INFO  [org.apache.activemq.artemis] AMQ241001: HTTP Server started at http://localhost:8161
> 13:52:11,487 INFO  [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at http://localhost:8161/jolokia
> 13:54:42,018 ERROR [org.apache.activemq.artemis.core.journal.impl.JournalImpl] appendAddRecord::java.lang.IllegalStateException: Can't write records bigger than the bufferSize(501760) on the journal: java.lang.IllegalStateException: Can't write records bigger than the bufferSize(501760) on the journal
> 	at org.apache.activemq.artemis.core.io.buffer.TimedBuffer.checkSize(TimedBuffer.java:188) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.core.io.AbstractSequentialFile.fits(AbstractSequentialFile.java:168) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.switchFileIfNecessary(JournalImpl.java:2875) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendRecord(JournalImpl.java:2597) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.access$200(JournalImpl.java:88) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl$1.run(JournalImpl.java:744) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:101) [artemis-commons-2.1.0.jar:2.1.0]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_74]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_74]
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_74]
> 13:54:42,023 WARN  [org.apache.activemq.artemis.core.server] AMQ222057: It was not possible to add references due to an IO error code 6 message = null
> 13:54:42,024 WARN  [org.apache.activemq.artemis.core.server] AMQ222104: IO Error completing the transaction, code = 6, message = null
> 13:54:42,024 ERROR [org.apache.activemq.artemis.core.protocol.mqtt] Pub Sync Failed
> 13:54:42,024 ERROR [org.apache.activemq.artemis.core.journal.impl.JournalImpl] appendUpdateRecord:java.lang.NullPointerException: java.lang.NullPointerException
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl$2.run(JournalImpl.java:809) [artemis-journal-2.1.0.jar:2.1.0]
> 	at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:101) [artemis-commons-2.1.0.jar:2.1.0]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_74]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_74]
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_74]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)