-
Bug
-
Resolution: Done
-
Major
-
AMQ 7.9.0.GA
-
False
-
False
-
-
ARTEMIS-3449
-
-
-
AMQP Client is not able to receive large messages. When a LargeMessage is available on the address and the consumer try to consume it, the Broker throws an [1] and kick off the consumer from the address but leave it connected so the client doesn't receive any errors and remain connected.
Restart the consumer or the broker doesn't fix the issue.
The issue can be reproduce only if both the Consumer and Producer use AMQP.
Producer AMQP | Producer Coreanchor | |
---|---|---|
Consumer AMQP | ||
Consumer Core |
[1]
2021-10-07 12:47:00,784 INFO [org.apache.activemq.artemis.core.server.plugin.impl] AMQ841012: delivered message with message ID: 2157901002, to consumer on address: anagrafica.event.req.check.ok, queue: anagrafica.event.req.check.ok, consumer sessionID: e61d4e0d-275b-11ec-b42d-005056b7c0ab, consumerID: 0 2021-10-07 12:47:00,856 WARN [org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext] Array must not be empty or null: java.lang.IllegalArgumentException: Array must not be empty or null at org.apache.qpid.proton.codec.CompositeReadableBuffer.append(CompositeReadableBuffer.java:688) [proton-j-0.33.8.redhat-00001.jar:0.33.8.redhat-00001] at org.apache.qpid.proton.engine.impl.DeliveryImpl.send(DeliveryImpl.java:345) [proton-j-0.33.8.redhat-00001.jar:0.33.8.redhat-00001] at org.apache.qpid.proton.engine.impl.SenderImpl.send(SenderImpl.java:74) [proton-j-0.33.8.redhat-00001.jar:0.33.8.redhat-00001] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext$LargeMessageDeliveryContext.deliver(ProtonServerSenderContext.java:610) [artemis-amqp-protocol-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.deliverLarge(ProtonServerSenderContext.java:786) [artemis-amqp-protocol-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:543) [artemis-amqp-protocol-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:136) [artemis-server-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] 2021-10-07 12:47:00,856 WARN [org.apache.activemq.artemis.core.server] AMQ222151: removing consumer which did not handle a message, consumer=ServerConsumerImpl [id=0, filter=null, binding=LocalQueueBinding [address=anagrafica.event.req.check.ok, queue=QueueImpl[name=anagrafica.event.req.check.ok, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=amq-terna-coll], temp=false]@14be49da, filter=null, name=anagrafica.event.req.check.ok, clusterName=anagrafica.event.req.check.ok6c7e63a3-26ae-11ec-a7d9-005056b7c0ab]], message=Reference[2157901002]:NON-RELIABLE:AMQPLargeMessage( [durable=false, messageID=2157901002, address=anagrafica.event.req.check.ok, size=0, applicationProperties={}, messageAnnotations={}, properties=null, extraProperties = TypedProperties[_AMQ_AD=anagrafica.event.req.check.ok]]: java.lang.IllegalArgumentException: Array must not be empty or null at org.apache.qpid.proton.codec.CompositeReadableBuffer.append(CompositeReadableBuffer.java:688) [proton-j-0.33.8.redhat-00001.jar:0.33.8.redhat-00001] at org.apache.qpid.proton.engine.impl.DeliveryImpl.send(DeliveryImpl.java:345) [proton-j-0.33.8.redhat-00001.jar:0.33.8.redhat-00001] at org.apache.qpid.proton.engine.impl.SenderImpl.send(SenderImpl.java:74) [proton-j-0.33.8.redhat-00001.jar:0.33.8.redhat-00001] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext$LargeMessageDeliveryContext.deliver(ProtonServerSenderContext.java:610) [artemis-amqp-protocol-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.deliverLarge(ProtonServerSenderContext.java:786) [artemis-amqp-protocol-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:543) [artemis-amqp-protocol-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:136) [artemis-server-2.18.0.redhat-00010.jar:2.18.0.redhat-00010] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.66.Final-redhat-00001.jar:4.1.66.Final-redhat-00001] at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.18.0.redhat-00010.jar:2.18.0.redhat-00010]
- is caused by
-
ENTMQBR-5687 BufferSplitter::split shouldn't consume input buffer
- Closed
- is cloned by
-
ENTMQBR-5598 [LTS] AMQP Consumer fails to receive LargeMessage when Broker uses JDBC storage
- Closed