Hi Justin.
Could you please tell me if you had a chance to review my question?

Thanks! Best regards.


пт, 24 окт. 2025 г. в 21:28, Illia <[email protected]>:

> Hi Justin.
> I have some kind of video conferencing app where I need to create many
> addresses/queues for each session/call.
> Setting the auto delete flag to false means that I will need to clean
> unused addresses and queues manually with the help of a scheduler which
> complicates the solution.
>
> Is there any way to start taking into consideration auto delete delay? So
> when failover is done, the queue is not deleted automatically but only
> after a specified time?
>
> Thanks! Best regards.
>
> чт, 23 окт. 2025 г. в 17:51, Justin Bertram <[email protected]>:
>
>> I tracked this behavior down to ARTEMIS-3525 [1]. On start the broker will
>> explicitly delete empty queues that are to be auto-deleted.
>>
>> That said, if auto-creation is enabled and you're using a protocol where
>> auto-creation is supported then the queue should be re-created when a
>> message is sent to it or a consumer is created on it.
>>
>> Is there a particular reason that you don't want to delete queues
>> immediately after failover when the queue auto-delete flag is set to true?
>> Have you considered setting the auto-delete flag to false so that this
>> doesn't happen?
>>
>>
>> Justin
>>
>> [1] https://issues.apache.org/jira/browse/ARTEMIS-3525
>>
>> On Wed, Oct 22, 2025 at 8:10 PM Illia <[email protected]> wrote:
>>
>> > Hi Justin.
>> > I have prepared a Java app for you. The link -
>> >
>> https://drive.google.com/file/d/1aLExH0nWTtWvdjFTw6KJIdid5wTXlJ9J/view?usp=sharing
>> > Steps to reproduce the issue:
>> > 1. Build Java app with *./mvnw clean package*
>> > 2. Start docker compose *docker compose up* which will start java client
>> > and 2 artemis nodes in replication mode (active and backup).
>> > 3. After the application is started, an address with the name
>> > "new-address" and a queue with the name "new-queue" are created.
>> > 4. Stop active node with *docker stop artemis-node-a*
>> > 5. Go to *http://localhost:8162/console/artemis
>> > <http://localhost:8162/console/artemis> *where you can observe that
>> > address was replicated and queue was not
>> > [image: image.png]
>> > [image: image.png]
>> >
>> > 6. The reason is that my queue is configured with autodelete:
>> > [image: image.png]
>> > 7. If you remove autoDelete and autoDeleteDeley lines and repeat
>> > everything from the beginning, you will notice that both address and
>> queue
>> > are successfully replicated.
>> >
>> > My goal is to not delete queues immediately after failover when the
>> queue
>> > auto delete flag is set to true. Is it even possible?
>> >
>> > Thanks! Best regards.
>> >
>> > ср, 22 окт. 2025 г. в 06:07, Justin Bertram <[email protected]>:
>> >
>> >> Nothing in the address-settings seems problematic. Can you work up some
>> >> instructions or ideally an automated reproducer so that I can observe
>> the
>> >> same behavior that you described?
>> >>
>> >>
>> >> Justin
>> >>
>> >> On Tue, Oct 21, 2025 at 4:52 PM Illia <[email protected]> wrote:
>> >>
>> >> > Hi Justin.
>> >> > This my settings in broker.xml:
>> >> >
>> >> > <address-setting match="#">
>> >> >     <dead-letter-address>DLQ</dead-letter-address>
>> >> >     <expiry-address>ExpiryQueue</expiry-address>
>> >> >     <redelivery-delay>0</redelivery-delay>
>> >> >
>> >> >
>> >> >
>> >>
>> <message-counter-history-day-limit>10</message-counter-history-day-limit>
>> >> >     <address-full-policy>PAGE</address-full-policy>
>> >> >     <auto-create-queues>true</auto-create-queues>
>> >> >     <auto-create-addresses>true</auto-create-addresses>
>> >> >     <auto-delete-queues>false</auto-delete-queues>
>> >> >     <auto-delete-addresses>false</auto-delete-addresses>
>> >> >
>> >> >     <!-- The size of each page file -->
>> >> >     <page-size-bytes>10M</page-size-bytes>
>> >> >
>> >> >     <!-- When we start applying the address-full-policy, e.g paging
>> -->
>> >> >     <!-- Both are disabled by default, which means we will use the
>> >> > global-max-size/global-max-messages  -->
>> >> >     <max-size-bytes>-1</max-size-bytes>
>> >> >     <max-size-messages>-1</max-size-messages>
>> >> >
>> >> >     <!-- When we read from paging into queues (memory) -->
>> >> >
>> >> >     <max-read-page-messages>-1</max-read-page-messages>
>> >> >     <max-read-page-bytes>20M</max-read-page-bytes>
>> >> >
>> >> >     <!-- Limit on paging capacity before starting to throw errors -->
>> >> >
>> >> >     <page-limit-bytes>-1</page-limit-bytes>
>> >> >     <page-limit-messages>-1</page-limit-messages>
>> >> > </address-setting>
>> >> >
>> >> >
>> >> > ср, 22 окт. 2025 г. в 00:15, Justin Bertram <[email protected]>:
>> >> >
>> >> > > Can you provide the address settings that correspond to this queue?
>> >> > >
>> >> > > For what it's worth, setting the auto-delete message-count on the
>> >> queue
>> >> > to
>> >> > > -1 is not normal as that means the broker will delete the queue
>> >> > regardless
>> >> > > of the number of messages it contains. It might make sense
>> depending
>> >> on
>> >> > > your use-case, but folks typically don't want to delete their
>> messages
>> >> > > automatically.
>> >> > >
>> >> > >
>> >> > > Justin
>> >> > >
>> >> > > On Tue, Oct 21, 2025 at 3:28 PM Illia <[email protected]>
>> >> wrote:
>> >> > >
>> >> > > > Hi team. Could you please help me with the next issue.
>> >> > > >
>> >> > > > My cluster consists of two nodes with replication mode (live and
>> >> > backup)
>> >> > > > that are configured to auto delete queues.
>> >> > > >
>> >> > > > When my active node fails, I see that only addresses are
>> replicated
>> >> to
>> >> > > the
>> >> > > > backup node but not queues. Seems that the reason is that my
>> queues
>> >> are
>> >> > > > configured for auto delete. Queue replication works fine without
>> the
>> >> > auto
>> >> > > > delete flag. I tried to set up an auto delete delay but it seems
>> >> that
>> >> > it
>> >> > > > still doesn’t work with failover.
>> >> > > >
>> >> > > > My goal is to not delete queues immediately after failover when
>> the
>> >> > queue
>> >> > > > auto delete flag is set to true.
>> >> > > >
>> >> > > > Is there any way to do this?
>> >> > > >
>> >> > > > Here is my queue configuration in Java code:
>> >> > > >
>> >> > > >
>> >> > > >
>> >> > > >
>> >> > > >
>> >> > > >
>> >> > > >
>> >> > > >
>> >> > > > *final QueueConfiguration queueConfig =
>> >> > > >
>> >> > > >
>> >> > >
>> >> >
>> >>
>> QueueConfiguration.of(queueName).setAddress(addressName).setRoutingType(RoutingType.ANYCAST).setAutoDelete(true).setAutoDeleteDelay(30000L).setAutoDeleteMessageCount(-1L).setPurgeOnNoConsumers(false).setNonDestructive(false);*
>> >> > > >
>> >> > > > Thanks! Best regards.
>> >> > > >
>> >> > >
>> >> >
>> >>
>> >
>>
>

Reply via email to