-
Bug
-
Resolution: Done
-
Major
-
None
-
AMQ 7.2.4.GA
-
None
-
-
-
-
Workaround Exists
-
AMQ 7.4.2,
- Client is a camel AMQ route, moving messages from one queue to another.
- Customer has been observing system memory to be much higher than heap allocated for AMQ7 process(which we observe from top output).
- Tried to increase direct buffer using -XX:MaxDirectMemorySize=512M to the broker but seems it is not working. I still getting this error on the broker:
2019-06-17 10:33:46,242 WARN [org.apache.activemq.artemis.core.server] Error during message dispatch: java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:694) [rt.jar:1.8.0_172] at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) [rt.jar:1.8.0_172] at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) [rt.jar:1.8.0_172] at sun.nio.ch.Util.getTemporaryDirectBuffer(Util.java:241) [rt.jar:1.8.0_172] at sun.nio.ch.IOUtil.read(IOUtil.java:195) [rt.jar:1.8.0_172] at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:159) [rt.jar:1.8.0_172] at org.apache.activemq.artemis.core.io.nio.NIOSequentialFile.read(NIOSequentialFile.java:165) [artemis-journal-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.io.nio.NIOSequentialFile.read(NIOSequentialFile.java:155) [artemis-journal-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl$DecodingContext.encode(LargeServerMessageImpl.java:538) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.message.impl.CoreMessage.getLargeMessageBuffer(CoreMessage.java:262) [artemis-core-client-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.message.impl.CoreMessage.getDataBuffer(CoreMessage.java:239) [artemis-core-client-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.toAMQMessage(OpenWireMessageConverter.java:525) [artemis-openwire-protocol-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.createMessageDispatch(OpenWireMessageConverter.java:492) [artemis-openwire-protocol-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQConsumer.handleDeliver(AMQConsumer.java:259) [artemis-openwire-protocol-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.sendMessage(AMQSession.java:313) [artemis-openwire-protocol-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1107) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:465) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2942) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2410) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2000(QueueImpl.java:107) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3216) [artemis-server-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.6.3.redhat-00020.jar:2.6.3.redhat-00020] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_172] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_172] at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.6.3.redhat-00020.jar:2.6.3.redhat-00020]