Uploaded image for project: 'HornetQ'
  1. HornetQ
  2. HORNETQ-4

CLONE -Unable to consume more than 777,000 messages



    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 2.0.0.beta5
    • Component/s: None
    • Labels:
    • Environment:

      Linux-64 bits 8G RAM


      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

      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.

        Gliffy Diagrams


          1. AckConsumer.java
            1 kB
          2. AckProducer.java
            1 kB
          3. jcsp-std-J2.jar
            229 kB
          4. TestAck.java
            2 kB

            Issue Links



                • Assignee:
                  timfox Tim Fox
                  adridi Abdel Dridi
                • Votes:
                  0 Vote for this issue
                  0 Start watching this issue


                  • Created: