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

Clebert Suconic commented on ARTEMIS-4089:
------------------------------------------

the topics use case is actually the reason this is not working. In Topics (or 
multicast addresses as we translated them in artemis after 2.0, (before in 1.0 
and hornets we would use prefixes), you have an unbounded address where you 
might eventually have queues. that's the topic use case.


With the queue (ANYCAST) case you wouldn't get a bounded queue.


One idea would be to check after routed the number of queues and throw an error 
on the producer or close the connection with a failure. (the producer would 
then have a chance to reconnect and recreate the queue).

> 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