Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-4186

MESSAGE_ACKED count does not get updated when subscribers are subscribed with DUPS_OK_ACKNOWLEDGE mode, even after the messages are consumed/read.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Major Major
    • None
    • AMQ 7.4.1.GA
    • message-delivery
    • False
    • False
    • Undefined
    • Hide
      1. Start the broker with configuraiton:  <address name="newtopic">
        <multicast>
        <queue name="newtopic" />
        </multicast>
        </address>
      2. Run a subscriber, subscribing to above multicast address with session.DUPS_OK_ACKNOWLEDGE.
      3. Run a publisher
      4. Check the output stats : ./artemis queue stat
      5. Wait and see if the MESSAGES_ACKED count gets updated lazily ? 
      6. MESSAGE_COUNT and MESSAGES_ADDED gets updated correctly.
      Show
      Start the broker with configuraiton:  <address name="newtopic"> <multicast> <queue name="newtopic" /> </multicast> </address> Run a subscriber, subscribing to above multicast address with session.DUPS_OK_ACKNOWLEDGE. Run a publisher Check the output stats : ./artemis queue stat Wait and see if the MESSAGES_ACKED count gets updated lazily ?  MESSAGE_COUNT and MESSAGES_ADDED gets updated correctly.

      If there is a durable subscriber , subscribed with DUPS_OK_ACKNOWLEDGE mode.

      • When is it the messages are acknowledged ? When does the MSSAGES_ACKED count get updated ?
      • This acknowledgment mode instructs the session to lazily acknowledge the delivery of messages, what are the actual semantics of DUPS_OK
      • Not clear if the messages are acknowledged in batch OR after certain interval of time !
      • Tried to test this with a durable subscriber (a.xyz) clientID, published 2 messages. The stats are as below:

      ./artemis queue stat :

      NAME ADDRESS CONSUMER_COUNT MESSAGE_COUNT MESSAGES_ADDED DELIVERING_COUNT MESSAGES_ACKED
      DLQ DLQ 0 0 0 0 0
      ExpiryQueue ExpiryQueue 0 0 0 0 0
      a.xyz newtopic 1 12 12 12 0
      newtopic newtopic 0 2 2 0 0
      • Tried to publish/send 2 more messages: stats as below:
      NAME ADDRESS CONSUMER_COUNT MESSAGE_COUNT MESSAGES_ADDED DELIVERING_COUNT MESSAGES_ACKED
      DLQ DLQ 0 0 0 0 0
      ExpiryQueue ExpiryQueue 0 0 0 0 0
      a.xyz newtopic 1 14 14 14 0
      newtopic newtopic 0 4 4 0 0
      NAME ADDRESS CONSUMER_COUNT MESSAGE_COUNT MESSAGES_ADDED DELIVERING_COUNT MESSAGES_ACKED
      DLQ DLQ 0 0 0 0 0
      ExpiryQueue ExpiryQueue 0 0 0 0 0
      a.xyz newtopic 1 16 16 16 0
      newtopic newtopic 0 6 6 0 0
      • Here the MESSAGE_COUNT and MESSAGE_ADDED is getting updated, while the messages are being consumed by the java test client (in local setup) , but the MESSAGES_ACKED is still the same.

      Do you have any clue, when does the MESSAGES_ACKED gets updated ?
      Is it a bug ?

      Note: With AUTO_ACKNOWLEDGE we can see an immediate updated MESSAGES_ACKED count in stats but not in DUPS_OK !

      *Also, tested with AMQ 7.7 which still shows no updates to the MESSAGES_ACKED count

              rhn-support-jbertram Justin Bertram
              rhn-support-swshende Swapnil Shende
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: