FUSE Message Broker
  1. FUSE Message Broker
  2. MB-807

ActiveMQ reports wrong number of messages with browseAsTable and browse operation in jconsole

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 5.4.1-fuse-00-00, 5.4.1-fuse-01-00, 5.4.2-fuse-00-00
    • Fix Version/s: None
    • Component/s: broker
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      In a simple test which pushes 300 messages Activemq only shows 180 messages when tried to look from JConsole using browse or browseAsTable method invocation. Same it true with using Camel route that uses BrowsableEndpoint to see browse the messages as camel exchange.

        Activity

        Hide
        Dejan Bosanac
        added a comment -

        Hi,

        there two interesting things going on in this example:

        1. The the producer will hit memory limit used by cursor and will keep only part (181) of the messages in the memory. Only these messages, that are in the memory will be sent to the browser. The reason we can't send more messages is there's no space in memory to get them from the store.

        2. Even if the memory limit is not hit, there's a limit of how much messages will be paged at once (and sent to the browser). And that number is 200 by default.

        So, in order to have this test working, you have to have a setting like this:

        <policyEntry queue=">" producerFlowControl="true" memoryLimit="2mb" maxPageSize="1000">

        the first one ensures that all 300 messages sent can fit the memory and the page size to ensure that they can all be sent to the browser.

        Show
        Dejan Bosanac
        added a comment - Hi, there two interesting things going on in this example: 1. The the producer will hit memory limit used by cursor and will keep only part (181) of the messages in the memory. Only these messages, that are in the memory will be sent to the browser. The reason we can't send more messages is there's no space in memory to get them from the store. 2. Even if the memory limit is not hit, there's a limit of how much messages will be paged at once (and sent to the browser). And that number is 200 by default. So, in order to have this test working, you have to have a setting like this: <policyEntry queue=">" producerFlowControl="true" memoryLimit="2mb" maxPageSize="1000"> the first one ensures that all 300 messages sent can fit the memory and the page size to ensure that they can all be sent to the browser.

          People

          • Assignee:
            Dejan Bosanac
            Reporter:
            Ulhas Bhole
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: