Hi,

Just another note on our test run w/5.4.2 version which was done earlier.  The 
broker does not exhibit the "pausing" behavior.  In fact, it actually achieve 
speed of 40k msg/sec on some occasions.

However, on a close examination of log and system stats.  We notice the 
following:

We were using the fileQueueCursor

1. Test producer sending at approx. 40k msg/sec non-persisted.

2. We saw many paging error messages in the broker log.


2011-07-28 20:44:40,270 | ERROR | Failed to page in more queue messages  | 
org.apache.activemq.broker.region.Queue | Queue:test.queue
java.lang.RuntimeException: java.lang.NullPointerException
        at 
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:444)
        at 
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)
        at 
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.release(FilePendingMessageCursor.java:140)
        at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1696)
        at 
org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1898)
        at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1425)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at 
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
Caused by: java.lang.NullPointerException
        at 
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:441)
        ... 7 more


3. After variable number of above error messages - the memory usage shot up and 
the throughput increased to 40k msg/sec.  The page in exception stopped showing 
up in the log.

4. It maintain the throughput  until the next broker reboot.

5. The behavior is not consistent.  Most of the times the broker just repeats 
the page in exception and does not achieve the throughput.  The memory did not 
jump as before.

I believe there is a fix in 5.5 that maybe related to this issues.   Does the 
fix causing the "pausing" behavior?

Anyone can provide some insight?

Regards.

Reply via email to