Martyn Taylor created ARTEMIS-262:
-------------------------------------
Summary: Core Bridge throws OutOfMemory exception when
transferring large messages.
Key: ARTEMIS-262
URL: https://issues.apache.org/jira/browse/ARTEMIS-262
Project: ActiveMQ Artemis
Issue Type: Bug
Components: Broker
Affects Versions: 1.1.0
Reporter: Martyn Taylor
Fix For: 1.1.1
To reproduce:
1. Start two servers
2. Send 100 messages with size 5MB to the first server
3. Restart the first server
4. Create a core bridge, which will forward messages to the second server
5. Receive messages from the second server
The following exception is thrown:
16:02:52,112 ERROR [org.apache.activemq.artemis.core.client] (Thread-23
(ActiveMQ-server-ActiveMQServerImpl::serverUUID=1d6a38c6-44e8-11e5-9786-154a71a87770-460139716))
AMQ214017: Caught unexpected Throwable: java.lang.OutOfMemoryError: Direct
buffer memory
at java.nio.Bits.reserveMemory(Bits.java:658) [rt.jar:1.8.0_51]
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) [rt.jar:1.8.0_51]
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) [rt.jar:1.8.0_51]
at io.netty.buffer.PoolArena$DirectArena.newChunk(PoolArena.java:437)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:179)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.PoolArena.allocate(PoolArena.java:168)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.PoolArena.reallocate(PoolArena.java:280)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.PooledByteBuf.capacity(PooledByteBuf.java:110)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.AbstractByteBuf.ensureWritable(AbstractByteBuf.java:251)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:817)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:825)
[netty-all-4.0.26.Final.jar:4.0.26.Final]
at
org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.writeBytes(ChannelBufferWrapper.java:575)
[artemis-commons-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionContinuationMessage.encodeRest(SessionContinuationMessage.java:76)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionSendContinuationMessage.encodeRest(SessionSendContinuationMessage.java:100)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.encode(PacketImpl.java:283)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.send(ChannelImpl.java:246)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.send(ChannelImpl.java:216)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:441)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendServer(ClientProducerImpl.java:433)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:367)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:297)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:132)
[artemis-core-client-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl$2.run(BridgeImpl.java:711)
[artemis-server-1.0.0.jar:1.0.0]
at
org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:105)
[artemis-core-client-1.0.0.jar:1.0.0]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_51]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_51]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_51]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)