Please help with the following issues we are encountering:

1. Broker Memory Usage is reaching 100%, we are not sure of the root cause,
however we believe it might be related to high load.

We have completed a heap dump and can see the percentUsage of one
org.apache.activemq.usage.MemoryUsage is 100 as seem below:

Type   |Name                |Value
-----------------------------------------------------------------------------------------
long   |usage               |268438348
ref    |usageMutex          |java.lang.Object @ 0x1160c2550
int    |percentUsage        |100
ref    |parent              |null
ref    |limiter             |org.apache.activemq.usage.DefaultUsageCapacity
@ 0x1160c2558
int    |percentUsageMinDelta|1
ref    |listeners           |java.util.concurrent.CopyOnWriteArrayList @
0x1160c2568
boolean|debug               |false
ref    |name                |default:memory
float  |usagePortion        |0.0
ref    |children            |java.util.concurrent.CopyOnWriteArrayList @
0x1160c25a0
ref    |callbacks           |java.util.LinkedList @ 0x1160c25d8
int    |pollingTime         |100
ref    |started             |java.util.concurrent.atomic.AtomicBoolean @
0x1160c2608
ref    |executor            |java.util.concurrent.ThreadPoolExecutor @
0x114eefd30
-----------------------------------------------------------------------------------------

We have configured the memoryUsage as 256mb and tried to put load in our
development environment by spamming the broker but the percentUsage did not
move from 0, but dequeue and enqueue counts went up quickly.

We would like to understand in what situations the memoryUsage is increased
and how to monitor for this without having to run jconsole or a flight
recording - jrmc.

2. Due to the issue above ActiveMQ tries to flush the messages to disk but
we get the following exception:

(org.apache.activemq.broker.region.cursors.FilePendingMessageCursor).444 -
Caught an IO Exception getting the DiskList
3135_PendingCursor:crossClusterTopicsOnly_ActiveMQ-broadcast-Name
java.lang.NullPointerException
        at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)
        at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)
        at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)
        at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

Does a property value need to be set so that it will write to disk
successfully or since the messages are non-persistent a file cursor is in
compatible?



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Broker-Memory-Usage-is-100-and-tries-to-flush-to-disk-with-Null-Pointer-Exception-tp4680254.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to