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

Unable to consume more than 777,000 messages

    XMLWordPrintable

    Details

    • 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:
      None
    • Environment:

      Windows Vista, 32 bit, 2GB RAM

      Description

      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.

        Gliffy Diagrams

          Attachments

          1. JMSBase.java
            3 kB
          2. JMSConsumer.java
            2 kB
          3. JMSSender.java
            2 kB
          4. src.rar
            3 kB
          5. TestCunsumer.java
            0.7 kB
          6. TestSender.java
            0.3 kB

            Issue Links

              Activity

                People

                • Assignee:
                  ataylor Andy Taylor
                  Reporter:
                  jbmuser Bijith Kumar
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: