[
https://jira.jboss.org/jira/browse/JBMESSAGING-1704?page=com.atlassian.ji...
]
Abdel Dridi updated JBMESSAGING-1704:
-------------------------------------
Environment: Linux-64 bits 8G RAM (was: Windows Vista, 32 bit, 2GB RAM)
As suggested by Tim, I cloned the jira
https://jira.jboss.org/jira/browse/JBMESSAGING-1693
to add my test code.
I tried this with today's trunk build.
To replicate the issue, please specify the following params in the attached
"TestAck" class:
- the number of producer - In my case I am using one producer
- the number of consumer - in my case I am using 10 consumer
- QueueName.
My test was done in a pair of Live/back up
Please note that I am using a third party multi-threading library called "JCSP"
- I attached it as well
Thanks,
Abdel
CLONE -Unable to consume more than 777,000 messages
----------------------------------------------------
Key: JBMESSAGING-1704
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1704
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 2.0.0.beta4
Environment: Linux-64 bits 8G RAM
Reporter: Abdel Dridi
Assignee: Andy Taylor
Fix For: 2.0.0
Attachments: AckConsumer.java, AckProducer.java, jcsp-std-J2.jar, TestAck.java
Using messaging-2.0.0.BETA3 stand alone non-clustered
-------------------------------------------------------------------------------
I am trying to consume 1 Million messages from a Queue using 10 concurrent consumers
(Threads) . Consumption hangs after consuming 777,000 messages. i.e. even though I am
able to see the messages from JConsole, Consumers does not read any. Below given are the
memory settings for the Queue
<global-page-size>10485760</global-page-size>
<paging-max-global-size-bytes>104857600</paging-max-global-size-bytes>
Also, I have added the following JVM parameters in run.bat script to enable JMX. Rest of
the configuration files are untouched (i.e. they are with default settings)
-Dcom.sun.management.jmxremote.port=3000
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Please find the attached java files. Test instructions are given below
1) Execute "TestSender.java" and let it complete. This will send 1 million
messages to Queue "myQQ".
2) Observe the Queue "myQQ" from JConsole. It can be seen that there are 23745
messages in Queue (means rest are paged).
3) Execute "TestCunsumer.java". This will spawn 10 consumer threads to read
from "myQQ"
4) Observe from JConsole that the messages are getting consumed. i.e. values of
MessageCount and MessageAdded attributes keeps on changing
5) Observe that after a while, consumption hangs (i.e.values of MessageCount and
MessageAdded attributes does not change). I calculated the number of messages consumed by
subtracting MessageCount from messagesAdded. Following are the values I got for last
three runs
Messages Consumed = messagesAdded - MessageCount
a) 800246 - 23246 = 777000
b) 799037 - 22037 = 777000
c) 799037 - 22037 = 777000
It seems the number of messages consumed (777000 in above case) is driven by message size
(and Queue size). Because, when I tried another message, the consumption hanged after
780,000 messages.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira