You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "john lilley (Jira)" <ji...@apache.org> on 2022/11/09 21:54:00 UTC
[jira] [Created] (ARTEMIS-4089) Auto-deleted queue with active producer leaves producer disabled
john lilley created ARTEMIS-4089:
------------------------------------
Summary: Auto-deleted queue with active producer leaves producer disabled
Key: ARTEMIS-4089
URL: https://issues.apache.org/jira/browse/ARTEMIS-4089
Project: ActiveMQ Artemis
Issue Type: Bug
Components: ActiveMQ-Artemis-Native
Affects Versions: 2.26.0
Reporter: john lilley
Assignee: Clebert Suconic
Attachments: image-2022-11-09-14-33-14-216.png, image-2022-11-09-14-33-54-881.png, image-2022-11-09-14-35-52-506.png, image-2022-11-09-14-36-13-274.png, image-2022-11-09-14-36-41-631.png, image-2022-11-09-14-40-30-793.png, scratch.zip
DISCLAIMER: this bug happens sometimes and then goes away, even using the simple test case I've attached. I would love to know why or how it comes and goes, but I just don't know.
Configure Artemis to auto-delete queues.
* there is a queue producer and queue consumer running in different processes
* the producer sends a few messages, and the consumer drains the queue
* quit the producer process
* enough time elapses that Artemis auto-deletes the queue
* start the producer process
* send a few messages
Expected: queue is re-created and consumer is delivered messages
Actual: producer send() fails silently, queue is not re-created, consumer sees no messages
To reproduce, build the attached maven project in scratch.zip. The version of java doesn't seem to matter - at least, Java 8 and 17 are the same.
In separate consoles run
{{java -cp target/*shad* net.redpoint.test.TestSend}}
{{java -cp target/*shad* net.redpoint.test.TestConsume}}
You will see something like
!image-2022-11-09-14-33-14-216.png!
Hit enter on the sending console, and it will send a message (or two, on Windows)
!image-2022-11-09-14-33-54-881.png!
Ctrl-C to kill the consumer but _leave the producer running_
Bring up the Artemis console and browse queues
!image-2022-11-09-14-36-41-631.png!
Wait just long enough for the Artemis console to show that "myqueue" has been auto-deleted
!image-2022-11-09-14-40-30-793.png!
(or wait until the artemis command-line window logs that the queue was deleted)
Start the consumer again.
Hit Enter on the producer window. It will send a message.
But.. the queue is not recreated, and the send() fails silently.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)