[ 
https://issues.apache.org/jira/browse/ARTEMIS-4089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17631938#comment-17631938
 ] 

john lilley commented on ARTEMIS-4089:
--------------------------------------

Hi Clebert,

We figured out that auto-delete is not good for these situations.  Auto-create 
is fine.  We have some per-job-instance queues whose number would grow without 
bound if they aren't reaped, but we are cleaning those up in an explicit ageout 
process now.  I think its good to keep this bug open, even if we don't fix it, 
so that there is a clear record of what is happening.

Thanks

john

 

> Auto-deleted queue with active producer leaves producer disabled (or impotent)
> ------------------------------------------------------------------------------
>
>                 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
>            Priority: Major
>         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.  It has been happening for weeks, I was able to 
> reproduce this morning using the attached project and procedure, and now ... 
> everything works just fine.  I'm pretty sure this isn't a false alarm, 
> because we tracked down bugs in our software to this phenomenon, and 
> everything got better when we disabled auto-delete of our queues.  Anyway, 
> here goes:-
> UPDATE: I figured out exactly what is the right sequence to reproduce.
> 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 consumer process
>  * enough time elapses that Artemis auto-deletes the queue
>  * send a few messages from the producer
>  * start the consumer process
> Expected: queue is re-created and consumer is delivered messages when it 
> starts
> 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/scratch-10.0.1-SNAPSHOT-shaded.jar 
> net.redpoint.test.TestSend}}
> {{java -cp target/scratch-10.0.1-SNAPSHOT-shaded.jar 
> 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)
> Hit Enter on the producer window.  It will send a message.
> But.. the queue is not recreated, and the send() fails silently.
> Start the consumer again.  It does not receive any messages.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to