-
Bug
-
Resolution: Done
-
Major
-
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']}
- is caused by
-
ARTEMIS-977 Loading...