OutOfMemory Error with hornetq-failure-check-thread
sketcha Jul 12, 2014 2:26 AMHi All,
I have an application which runs on JBOSS AS 7.2.0Final. we are using Hornetq as messaging subsystem.
while performing the Longevity tests we observed a Java Heapspace issue OOM occurred.
on Analyzing the Heap Dump and thread dump i could see that hornetq-failure-check-thread is consuming lot of memory up to 1.2 GB.
Could anyone please let me know if this is a known issue. or please guide me how to resolve this.
here is the stack trace of Hornetq Failure thread
"hornetq-failure-check-thread" prio=5 tid=116 RUNNABLE
at java.lang.OutOfMemoryError.<init>(OutOfMemoryError.java:48)
at java.util.Arrays.copyOf(Arrays.java:2219)
at java.util.ArrayList.grow(ArrayList.java:242)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:216)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:208)
at java.util.ArrayList.add(ArrayList.java:440)
Local Variable: java.util.ArrayList#4750
at org.hornetq.core.server.impl.QueueImpl$RefsOperation.addAck(QueueImpl.java:2404)
Local Variable: org.hornetq.core.server.impl.QueueImpl$RefsOperation#1
at org.hornetq.core.server.impl.QueueImpl.acknowledge(QueueImpl.java:961)
Local Variable: org.hornetq.core.server.impl.ServerMessageImpl#61690
at org.hornetq.core.server.impl.QueueImpl$5.actMessage(QueueImpl.java:1105)
at org.hornetq.core.server.impl.QueueImpl.iterQueue(QueueImpl.java:1147)
Local Variable: org.hornetq.core.server.impl.MessageReferenceImpl#61779
Local Variable: org.hornetq.core.server.impl.QueueImpl$5#1
Local Variable: org.hornetq.core.transaction.impl.TransactionImpl#3
Local Variable: org.hornetq.core.server.impl.QueueImpl$SynchronizedIterator#1
at org.hornetq.core.server.impl.QueueImpl.deleteMatchingReferences(QueueImpl.java:1099)
at org.hornetq.core.server.impl.QueueImpl.deleteAllReferences(QueueImpl.java:1094)
at org.hornetq.core.server.impl.HornetQServerImpl.destroyQueue(HornetQServerImpl.java:1112)
Local Variable: org.hornetq.core.postoffice.impl.LocalQueueBinding#3
at org.hornetq.core.server.impl.HornetQServerImpl.destroyQueue(HornetQServerImpl.java:1070)
Local Variable: org.hornetq.core.server.impl.HornetQServerImpl#1
Local Variable: org.hornetq.api.core.SimpleString#147994
at org.hornetq.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.run(ServerSessionImpl.java:472)
at org.hornetq.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.connectionFailed(ServerSessionImpl.java:488)
at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.callFailureListeners(RemotingConnectionImpl.java:570)
Local Variable: org.hornetq.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper#1
Local Variable: java.util.ArrayList$Itr#111
Local Variable: java.util.ArrayList#4694
at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.fail(RemotingConnectionImpl.java:341)
Local Variable: java.lang.Object#332551
Local Variable: org.hornetq.api.core.HornetQConnectionTimedOutException#1
at org.hornetq.core.remoting.server.impl.RemotingServiceImpl$FailureCheckAndFlushThread.run(RemotingServiceImpl.java:652)
Local Variable: java.util.HashSet#143121
Local Variable: java.util.HashMap$KeyIterator#3
Local Variable: java.lang.Integer#77518
Local Variable: org.hornetq.core.protocol.core.impl.RemotingConnectionImpl#8