Uploaded image for project: 'A-MQ Broker'
  1. A-MQ Broker
  2. ENTMQBR-6

Messages count broken in paging mode

    Details

    • Type: Bug
    • Status: Done
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: A-MQ 7.0.0.ER14
    • Component/s: None
    • Labels:
    • Environment:

      A-MQ7 ER12

    • Target Release:
    • Steps to Reproduce:
      Hide

      start broker

      su - jamq -c "/opt/jboss-amq-7-i0/bin/artemis-service start"

      Send one 10k messages after another

      Please, pay your attention to "messageCount" and "numberOfPages" properties:

      1 msg sent

      {'address': 'jms.queue.some_queue',
       'addressSize': 33681,
       'bindingNames': ['jms.queue.some_queue'],
       'consumerCount': 0,
       'deadLetterAddress': 'jms.queue.DLQ',
       'deliveringCount': 0,
       'durable': False,
       'expiryAddress': 'jms.queue.ExpiryQueue',
       'filter': None,
       'firstMessageAge': 9787,
       'firstMessageTimestamp': 1476794948995,
       'iD': 4563,
       'messageCount': 1,
       'messagesAcknowledged': 0,
       'messagesAdded': 1,
       'name': 'jms.queue.some_queue',
       'numberOfBytesPerPage': 10240,
       'numberOfMessages': 1,
       'numberOfPages': 0,
       'paging': False,
       'paused': False,
       'queueNames': ['jms.queue.some_queue'],
       'rolesAsJSON': [{'browse': True,
                        'consume': True,
                        'createDurableQueue': True,
                        'createNonDurableQueue': True,
                        'deleteDurableQueue': True,
                        'deleteNonDurableQueue': True,
                        'manage': True,
                        'name': 'amq',
                        'send': True}],
       'scheduledCount': 0,
       'temporary': False}
      

      3 msgs sent

      {'address': 'jms.queue.some_queue',
       'addressSize': 101043,
       'bindingNames': ['jms.queue.some_queue'],
       'consumerCount': 0,
       'deadLetterAddress': 'jms.queue.DLQ',
       'deliveringCount': 0,
       'durable': False,
       'expiryAddress': 'jms.queue.ExpiryQueue',
       'filter': None,
       'firstMessageAge': 71032,
       'firstMessageTimestamp': 1476794948995,
       'iD': 4563,
       'messageCount': 3,
       'messagesAcknowledged': 0,
       'messagesAdded': 3,
       'name': 'jms.queue.some_queue',
       'numberOfBytesPerPage': 10240,
       'numberOfMessages': 3,
       'numberOfPages': 0,
       'paging': False,
       'paused': False,
       'queueNames': ['jms.queue.some_queue'],
       'rolesAsJSON': [{'browse': True,
                        'consume': True,
                        'createDurableQueue': True,
                        'createNonDurableQueue': True,
                        'deleteDurableQueue': True,
                        'deleteNonDurableQueue': True,
                        'manage': True,
                        'name': 'amq',
                        'send': True}],
       'scheduledCount': 0,
       'temporary': False}
      

      4 msgs sent, hit global-max-size limit

      {'address': 'jms.queue.some_queue',
       'addressSize': 134724,
       'bindingNames': ['jms.queue.some_queue'],
       'consumerCount': 0,
       'deadLetterAddress': 'jms.queue.DLQ',
       'deliveringCount': 0,
       'durable': False,
       'expiryAddress': 'jms.queue.ExpiryQueue',
       'filter': None,
       'firstMessageAge': 240136,
       'firstMessageTimestamp': 1476794948995,
       'iD': 4563,
       'messageCount': 4,
       'messagesAcknowledged': 0,
       'messagesAdded': 4,
       'name': 'jms.queue.some_queue',
       'numberOfBytesPerPage': 10240,
       'numberOfMessages': 4,
       'numberOfPages': 1,
       'paging': True,
       'paused': False,
       'queueNames': ['jms.queue.some_queue'],
       'rolesAsJSON': [{'browse': True,
                        'consume': True,
                        'createDurableQueue': True,
                        'createNonDurableQueue': True,
                        'deleteDurableQueue': True,
                        'deleteNonDurableQueue': True,
                        'manage': True,
                        'name': 'amq',
                        'send': True}],
       'scheduledCount': 0,
       'temporary': False}
      

      5 msgs sent
      expect to get messageCount == 5, but got 6

      {'address': 'jms.queue.some_queue',
       'addressSize': 134724,
       'bindingNames': ['jms.queue.some_queue'],
       'consumerCount': 0,
       'deadLetterAddress': 'jms.queue.DLQ',
       'deliveringCount': 0,
       'durable': False,
       'expiryAddress': 'jms.queue.ExpiryQueue',
       'filter': None,
       'firstMessageAge': 355380,
       'firstMessageTimestamp': 1476794948995,
       'iD': 4563,
       'messageCount': 6,
       'messagesAcknowledged': 0,
       'messagesAdded': 6,
       'name': 'jms.queue.some_queue',
       'numberOfBytesPerPage': 10240,
       'numberOfMessages': 6,
       'numberOfPages': 1,
       'paging': True,
       'paused': False,
       'queueNames': ['jms.queue.some_queue'],
       'rolesAsJSON': [{'browse': True,
                        'consume': True,
                        'createDurableQueue': True,
                        'createNonDurableQueue': True,
                        'deleteDurableQueue': True,
                        'deleteNonDurableQueue': True,
                        'manage': True,
                        'name': 'amq',
                        'send': True}],
       'scheduledCount': 0,
       'temporary': False}
      

      6 msgs sent
      expect to get messageCount == 6, but got 8

      {'address': 'jms.queue.some_queue',
       'addressSize': 134724,
       'bindingNames': ['jms.queue.some_queue'],
       'consumerCount': 0,
       'deadLetterAddress': 'jms.queue.DLQ',
       'deliveringCount': 0,
       'durable': False,
       'expiryAddress': 'jms.queue.ExpiryQueue',
       'filter': None,
       'firstMessageAge': 420318,
       'firstMessageTimestamp': 1476794948995,
       'iD': 4563,
       'messageCount': 8,
       'messagesAcknowledged': 0,
       'messagesAdded': 8,
       'name': 'jms.queue.some_queue',
       'numberOfBytesPerPage': 10240,
       'numberOfMessages': 8,
       'numberOfPages': 2,
       'paging': True,
       'paused': False,
       'queueNames': ['jms.queue.some_queue'],
       'rolesAsJSON': [{'browse': True,
                        'consume': True,
                        'createDurableQueue': True,
                        'createNonDurableQueue': True,
                        'deleteDurableQueue': True,
                        'deleteNonDurableQueue': True,
                        'manage': True,
                        'name': 'amq',
                        'send': True}],
       'scheduledCount': 0,
       'temporary': False}
      
      Show
      start broker su - jamq -c "/opt/jboss-amq-7-i0/bin/artemis-service start" Send one 10k messages after another Please, pay your attention to "messageCount" and "numberOfPages" properties: 1 msg sent { 'address' : 'jms.queue.some_queue' , 'addressSize' : 33681, 'bindingNames' : [ 'jms.queue.some_queue' ], 'consumerCount' : 0, 'deadLetterAddress' : 'jms.queue.DLQ' , 'deliveringCount' : 0, 'durable' : False, 'expiryAddress' : 'jms.queue.ExpiryQueue' , 'filter' : None, 'firstMessageAge' : 9787, 'firstMessageTimestamp' : 1476794948995, 'iD' : 4563, 'messageCount' : 1, 'messagesAcknowledged' : 0, 'messagesAdded' : 1, 'name' : 'jms.queue.some_queue' , 'numberOfBytesPerPage' : 10240, 'numberOfMessages' : 1, 'numberOfPages' : 0, 'paging' : False, 'paused' : False, 'queueNames' : [ 'jms.queue.some_queue' ], 'rolesAsJSON' : [{ 'browse' : True, 'consume' : True, 'createDurableQueue' : True, 'createNonDurableQueue' : True, 'deleteDurableQueue' : True, 'deleteNonDurableQueue' : True, 'manage' : True, 'name' : 'amq' , 'send' : True}], 'scheduledCount' : 0, 'temporary' : False} 3 msgs sent { 'address' : 'jms.queue.some_queue' , 'addressSize' : 101043, 'bindingNames' : [ 'jms.queue.some_queue' ], 'consumerCount' : 0, 'deadLetterAddress' : 'jms.queue.DLQ' , 'deliveringCount' : 0, 'durable' : False, 'expiryAddress' : 'jms.queue.ExpiryQueue' , 'filter' : None, 'firstMessageAge' : 71032, 'firstMessageTimestamp' : 1476794948995, 'iD' : 4563, 'messageCount' : 3, 'messagesAcknowledged' : 0, 'messagesAdded' : 3, 'name' : 'jms.queue.some_queue' , 'numberOfBytesPerPage' : 10240, 'numberOfMessages' : 3, 'numberOfPages' : 0, 'paging' : False, 'paused' : False, 'queueNames' : [ 'jms.queue.some_queue' ], 'rolesAsJSON' : [{ 'browse' : True, 'consume' : True, 'createDurableQueue' : True, 'createNonDurableQueue' : True, 'deleteDurableQueue' : True, 'deleteNonDurableQueue' : True, 'manage' : True, 'name' : 'amq' , 'send' : True}], 'scheduledCount' : 0, 'temporary' : False} 4 msgs sent, hit global-max-size limit { 'address' : 'jms.queue.some_queue' , 'addressSize' : 134724, 'bindingNames' : [ 'jms.queue.some_queue' ], 'consumerCount' : 0, 'deadLetterAddress' : 'jms.queue.DLQ' , 'deliveringCount' : 0, 'durable' : False, 'expiryAddress' : 'jms.queue.ExpiryQueue' , 'filter' : None, 'firstMessageAge' : 240136, 'firstMessageTimestamp' : 1476794948995, 'iD' : 4563, 'messageCount' : 4, 'messagesAcknowledged' : 0, 'messagesAdded' : 4, 'name' : 'jms.queue.some_queue' , 'numberOfBytesPerPage' : 10240, 'numberOfMessages' : 4, 'numberOfPages' : 1, 'paging' : True, 'paused' : False, 'queueNames' : [ 'jms.queue.some_queue' ], 'rolesAsJSON' : [{ 'browse' : True, 'consume' : True, 'createDurableQueue' : True, 'createNonDurableQueue' : True, 'deleteDurableQueue' : True, 'deleteNonDurableQueue' : True, 'manage' : True, 'name' : 'amq' , 'send' : True}], 'scheduledCount' : 0, 'temporary' : False} 5 msgs sent expect to get messageCount == 5, but got 6 { 'address' : 'jms.queue.some_queue' , 'addressSize' : 134724, 'bindingNames' : [ 'jms.queue.some_queue' ], 'consumerCount' : 0, 'deadLetterAddress' : 'jms.queue.DLQ' , 'deliveringCount' : 0, 'durable' : False, 'expiryAddress' : 'jms.queue.ExpiryQueue' , 'filter' : None, 'firstMessageAge' : 355380, 'firstMessageTimestamp' : 1476794948995, 'iD' : 4563, 'messageCount' : 6, 'messagesAcknowledged' : 0, 'messagesAdded' : 6, 'name' : 'jms.queue.some_queue' , 'numberOfBytesPerPage' : 10240, 'numberOfMessages' : 6, 'numberOfPages' : 1, 'paging' : True, 'paused' : False, 'queueNames' : [ 'jms.queue.some_queue' ], 'rolesAsJSON' : [{ 'browse' : True, 'consume' : True, 'createDurableQueue' : True, 'createNonDurableQueue' : True, 'deleteDurableQueue' : True, 'deleteNonDurableQueue' : True, 'manage' : True, 'name' : 'amq' , 'send' : True}], 'scheduledCount' : 0, 'temporary' : False} 6 msgs sent expect to get messageCount == 6, but got 8 { 'address' : 'jms.queue.some_queue' , 'addressSize' : 134724, 'bindingNames' : [ 'jms.queue.some_queue' ], 'consumerCount' : 0, 'deadLetterAddress' : 'jms.queue.DLQ' , 'deliveringCount' : 0, 'durable' : False, 'expiryAddress' : 'jms.queue.ExpiryQueue' , 'filter' : None, 'firstMessageAge' : 420318, 'firstMessageTimestamp' : 1476794948995, 'iD' : 4563, 'messageCount' : 8, 'messagesAcknowledged' : 0, 'messagesAdded' : 8, 'name' : 'jms.queue.some_queue' , 'numberOfBytesPerPage' : 10240, 'numberOfMessages' : 8, 'numberOfPages' : 2, 'paging' : True, 'paused' : False, 'queueNames' : [ 'jms.queue.some_queue' ], 'rolesAsJSON' : [{ 'browse' : True, 'consume' : True, 'createDurableQueue' : True, 'createNonDurableQueue' : True, 'deleteDurableQueue' : True, 'deleteNonDurableQueue' : True, 'manage' : True, 'name' : 'amq' , 'send' : True}], 'scheduledCount' : 0, 'temporary' : False}

      Description

      Count of received messages seems to be misbehave when address falls into paging mode. Count works correctly until paging begins. After that I get messageCount == messages sent * 2, i.e. +1 for every message sent, probably due to paging. The same works for "messagesAdded" and "numberOfMessages" properties.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                clebert.suconic Clebert Suconic
                Reporter:
                dpuzikov Dmitrii Puzikov
                Tester:
                Dmitrii Puzikov
                Need Info from:
                Dmitrii Puzikov
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: