Nikunj Sanghadia created AMQ-6819:
-------------------------------------
Summary: java.lang.OutOfMemoryError: Java heap space on durable
consumer reconnects
Key: AMQ-6819
URL: https://issues.apache.org/jira/browse/AMQ-6819
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.14.4
Reporter: Nikunj Sanghadia
I have a publisher who is constantly publishing a message of 1000K and a
durable consumer.
I used durable prefetch default 100. 1st Issue is after failover when a
consumer reconnects prefetch value becomes 1000 automatically and server
immediately dispatch more than 1000 pending messages which causes 2nd issue,
java heap size issue in amq and publisher is blocked .
Caused by: java.lang.OutOfMemoryError: Java heap space
at
org.apache.activemq.util.DataByteArrayOutputStream.ensureEnoughBuffer(DataByteArrayOutputStream.java:220)
at
org.apache.activemq.util.DataByteArrayOutputStream.writeBoolean(DataByteArrayOutputStream.java:140)
at
org.apache.activemq.openwire.v11.BaseDataStreamMarshaller.looseMarshalByteSequence(BaseDataStreamMarshaller.java:627)
at
org.apache.activemq.openwire.v11.MessageMarshaller.looseMarshal(MessageMarshaller.java:300)
at
org.apache.activemq.openwire.v11.ActiveMQMessageMarshaller.looseMarshal(ActiveMQMessageMarshaller.java:111)
at
org.apache.activemq.openwire.v11.ActiveMQObjectMessageMarshaller.looseMarshal(ActiveMQObjectMessageMarshaller.java:111)
at
org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:162)
at
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.addMessage(KahaDBStore.java:452)
at
org.apache.activemq.store.AbstractMessageStore.asyncAddTopicMessage(AbstractMessageStore.java:111)
at
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.asyncAddTopicMessage(KahaDBStore.java:781)
at
org.apache.activemq.store.kahadb.KahaDBTransactionStore.asyncAddTopicMessage(KahaDBTransactionStore.java:450)
at
org.apache.activemq.store.kahadb.KahaDBTransactionStore$2.asyncAddTopicMessage(KahaDBTransactionStore.java:208)
at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:520)
at org.apache.activemq.broker.region.Topic.send(Topic.java:485)
at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:505)
at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:468)
at
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:293)
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:153)
at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293)
at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:158)
at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:581)
at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:336)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:200)
at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)
at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
at
org.apache.activemq.transport.nio.NIOTransport.serviceRead(NIOTransport.java:155)
at
org.apache.activemq.transport.nio.NIOTransport$1.onSelect(NIOTransport.java:80)
at
org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:98)
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)