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

Addresses are being recreated after being removed from broker and broker is restarted

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • A-MQ 7.0.0.ER17
    • A-MQ 7.0.0.ER15
    • None

      1) Start broker with default broker config

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar broker --action list 
      {'address': ['DLQ', 'ExpiryQueue'], 'topic': [], 'queue': ['ExpiryQueue', 'DLQ']}
      

      2) Create queue & address

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar queue --action add -n lalaQ
      

      3) Restart broker

      /opt/jboss-amq-7-i0/bin/artemis-service restart

      4) Address is recreated again <-- issue

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar broker --action list 
      {'address': ['DLQ', 'ExpiryQueue', 'lalaQ'], 'topic': [], 'queue': ['ExpiryQueue', 'DLQ']}
      

      5) Remove recreated address (removed)

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar address --action remove -n lalaQ
      Address 'lalaQ' removed
      

      6) Restart broker

      /opt/jboss-amq-7-i0/bin/artemis-service restart

      7) Observe that deleted address is there again.

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar broker --action list 
      {'address': ['DLQ', 'ExpiryQueue', 'lalaQ'], 'topic': [], 'queue': ['ExpiryQueue', 'DLQ']}
      

      Of course there can be many addresses recreated which unnecessarily pollutes broker over long time (I have seen dozens of addresses left on the broker, after some test suite finished execution, named like ID:uuid).
      I have also seen that non-durable queues are recreated as well, but in this scenario I am not 100% sure and don't have proper reproducer yet.

      Similar reproducer:
      Autocreate is default (turned on and probably durable is true by default)
      1) Send few messages to non-existing queue

      java -jar /var/dtests/node_data/clients/java/aac/target/aac1-staging-0.20.0.redhat-2.jar sender --address 'lalaQ_2' --count 2 --log-msgs dict 
      {'redelivered': False, 'reply_to': None, 'id': '1ecadd96-8fa7-4e0d-af40-1172129b5094:1:1:1-1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1484913759548, 'address': 'lalaQ_2', 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      {'redelivered': False, 'reply_to': None, 'id': '1ecadd96-8fa7-4e0d-af40-1172129b5094:1:1:1-2', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1484913765489, 'address': 'lalaQ_2', 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      

      2) Check queue stats

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar broker --action list {'address': ['lalaQ_2', 'lalaQ', 'DLQ', 'ExpiryQueue'], 'topic': [], 'queue': ['ExpiryQueue', 'DLQ', 'lalaQ_2']}
      
      'lalaQ_2': {'address': 'lalaQ_2',
        'address-settings': {'DLA': 'DLQ',
         'addressFullMessagePolicy': 'PAGE',
         'autoCreateAddress': True,
         'autoCreateJmsQueues': True,
         'autoCreateJmsTopics': True,
         'autoCreateQueues': True,
         'autoDeleteAddress': True,
         'autoDeleteJmsQueues': True,
         'autoDeleteJmsTopics': True,
         'autoDeleteQueues': True,
         'expiryAddress': 'ExpiryQueue',
         ...},
        'addressSize': 3990,
        'bindingNames': ['lalaQ_2'],
      ...
        'name': 'lalaQ_2',
        'numberOfMessages': 2,
        'queueNames': ['lalaQ_2'],
        'temporary': False}
      

      3) Restart broker (artemis-service restart as above)
      4) Durable queue & address survives (perfect)
      5) Remove them

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar queue --action remove -n lalaQ_2
      Destination 'lalaQ_2' removed
      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar broker --action list 
      {'address': ['lalaQ', 'DLQ', 'ExpiryQueue'], 'topic': [], 'queue': ['ExpiryQueue', 'DLQ']}
      

      6) Restart broker

      echo $(date); runuser -s ${SHELL} jamq -c 'cd ~;/opt/jboss-amq-7-i0/bin/artemis-service restart'
      Fri Jan 20 13:06:00 CET 2017
      Restarting artemis-service
      artemis-service is now running (31097)
      

      7) Address is back

      java -jar /var/dtests/node_data/clients/java/amqx/target/amqx.jar broker --action list 
      {'address': ['lalaQ_2', 'lalaQ', 'DLQ', 'ExpiryQueue'], 'topic': [], 'queue': ['ExpiryQueue', 'DLQ']}
      

              mtaylor1@redhat.com Martyn Taylor (Inactive)
              mtoth@redhat.com Michal Toth
              Michal Toth Michal Toth
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: