[ 
https://issues.apache.org/jira/browse/ARTEMIS-4089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

john lilley updated ARTEMIS-4089:
---------------------------------
    Description: 
-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.

 

  was:
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:

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
 * start the consumer process
 * send a few messages from the producer

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/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)

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.

 


> 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