You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Clebert Suconic (Jira)" <ji...@apache.org> on 2025/03/13 01:55:01 UTC

[jira] [Closed] (ARTEMIS-5308) Messages are blocked after sending too large header

     [ https://issues.apache.org/jira/browse/ARTEMIS-5308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Clebert Suconic closed ARTEMIS-5308.
------------------------------------

> Messages are blocked after sending too large header
> ---------------------------------------------------
>
>                 Key: ARTEMIS-5308
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5308
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Domenico Francesco Bruscino
>            Assignee: Domenico Francesco Bruscino
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.40.0
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> When using a high available setup, an issue occurs when sending a message with a header that is too large. The main broker rejects the message, but at the same time, it seems that it is trying to perform replication to the backup broker.
> The backup broker also rejects this replication message, but after this it seems that all further messages are blocked. Only after killing the backup broker, the messages will be processed. Seems like this is related to journal related operations being blocked until backup acknowledges the completion of synchronization (https://activemq.apache.org/components/artemis/documentation/latest/ha.html#replication)
> {code:java}
> [Thread-2 (org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnector)] 17:41:25,854 WARN  [org.apache.activemq.artemis.core.server] AMQ222086: error handling packet ReplicationAddTXMessage[type=92, channelID=2, responseAsync=false, requiresResponse=false, correlationID=-1] for replication
> org.apache.activemq.artemis.api.core.ActiveMQIOErrorException: AMQ149005: Message of 524513 bytes is bigger than the max record size of 102400 bytes. You should try to move large application properties to the message body.
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.checkRecordSize(JournalImpl.java:1011) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendAddRecordTransactional(JournalImpl.java:1269) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.journal.Journal.appendAddRecordTransactional(Journal.java:188) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalBase.appendAddRecordTransactional(JournalBase.java:115) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendAddRecordTransactional(JournalImpl.java:105) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.replication.ReplicationEndpoint.handleAppendAddTXRecord(ReplicationEndpoint.java:766) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.replication.ReplicationEndpoint.handlePacket(ReplicationEndpoint.java:211) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:852) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:419) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:392) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$DelegatingBufferHandler.bufferReceived(ClientSessionFactoryImpl.java:1334) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnection$1.run(InVMConnection.java:223) ~[classes/:?]
> 	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57) ~[classes/:?]
> 	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) ~[classes/:?]
> 	at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68) ~[classes/:?]
> 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
> 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
> 	at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [classes/:?]
> [Thread-4 (ActiveMQ-server-ActiveMQServerImpl::Server 1)] 17:41:25,887 WARN  [org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback] AMQ149005: Message of 524513 bytes is bigger than the max record size of 102400 bytes. You should try to move large application properties to the message body.
> org.apache.activemq.artemis.api.core.ActiveMQIOErrorException: AMQ149005: Message of 524513 bytes is bigger than the max record size of 102400 bytes. You should try to move large application properties to the message body.
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.checkRecordSize(JournalImpl.java:1011) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendAddRecordTransactional(JournalImpl.java:1269) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.replication.ReplicatedJournal.appendAddRecordTransactional(ReplicatedJournal.java:192) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.storeMessageTransactional(AbstractJournalStorageManager.java:571) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.storeDurableReference(PostOfficeImpl.java:1790) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.processRouteToDurableQueues(PostOfficeImpl.java:1770) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.processRoute(PostOfficeImpl.java:1706) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:1244) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:1135) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doSend(ServerSessionImpl.java:2368) ~[classes/:?]
> 	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1963) ~[classes/:?]
> 	at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.inSessionSend(AMQPSessionCallback.java:624) ~[classes/:?]
> 	at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.lambda$serverSend$2(AMQPSessionCallback.java:580) ~[classes/:?]
> 	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57) ~[classes/:?]
> 	at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32) ~[classes/:?]
> 	at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68) ~[classes/:?]
> 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
> 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
> 	at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [classes/:?]
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@activemq.apache.org
For additional commands, e-mail: issues-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact