I also mentioned that when an address with two queues was undeployed, there
were also two log messages for undeploying each cluster queue.
I tried a workaround with adding cluster queues to the configuration.
During the configuration reload, each cluster queue has been undeployed and
deployed back again. There may be a message loss between these two events
(although this interval was relatively small, about 19 ms).

вт, 26 нояб. 2024 г. в 11:51, Alexander Milovidov <milovid...@gmail.com>:

> Hi All,
>
> I also reproduced this case.
> When the setting config-delete-addresses is set to FORCE on the particular
> address match with wildcard (not matches with cluster address/queue names),
> when undeploying this address, cluster queues are also deleted.
> This does not happen if I set only config-delete-queues to FORCE. Only
> config-delete-address has an effect.
>
> It is also strange because config-delete-addresses setting specifies which
> addresses broker should delete, not queues.
>
>
>
>
> пн, 25 нояб. 2024 г. в 14:51, Jean-Pascal Briquet <jpdigit...@gmail.com>:
>
>> Hi,
>>
>> I have found simple reproduction scenarios for cluster-connection failure
>> and related message loss.
>> All is documented in details under
>> https://issues.apache.org/jira/browse/ARTEMIS-5086
>>
>> In short, configuration must have FORCE on config-delete-addresses/
>> config-delete-queues.
>> When the configuration is refreshed and if an address (with force
>> deletion)
>> is removed from configuration, then "Remote binding" queues are deleted at
>> the same time as the "Local binding" queue.
>>
>> Regards,
>>
>> Jean-Pascal
>>
>>
>>
>>
>> On Sat, Nov 23, 2024 at 3:01 PM Alexander Milovidov <milovid...@gmail.com
>> >
>> wrote:
>>
>> > Hi Justin,
>> >
>> > I also had this message in the logs. There were also two other queues
>> with
>> > addresses which had been removed from configuration and undeployed
>> during
>> > this configuration reload.
>> >
>> > The possible scenario to reproduce is:
>> > - create a cluster with 2 active nodes;
>> > - create two broker.xml files, one with only default addresses/queues,
>> > other with approx. 3000 addresses with queues;
>> > - the configuration file should include all types of objects (addresses,
>> > anycast and multicast queues);
>> > - cycle between these two configurations to deploy/undeploy addresses
>> and
>> > queues - copy configuration file 1 or 2 to the broker.xml;
>> > - wait for the period needed to reload the configuration and repeat for
>> > each file.
>> >
>> > I'm not sure it will be reproduced because products in the test lab
>> usually
>> > work as designed.
>> > Also it is possible to continuously send/receive messages to some queues
>> > during the entire test to make the test to be closer to the real.
>> >
>> > пт, 22 нояб. 2024 г. в 23:41, Justin Bertram <jbert...@apache.org>:
>> >
>> > > At this point I don't see how this could happen unless the relevant
>> > > address-setting had FORCE for the configDeleteQueues or
>> > > configDeleteAddresses. This code has been essentially the same for the
>> > last
>> > > 5 years or so.
>> > >
>> > > Do you have a way to reproduce this?
>> > >
>> > > Do you also see this logging?
>> > >
>> > >   AMQ224076 Undeploying address...
>> > >
>> > >
>> > > Justin
>> > >
>> > > On Thu, Nov 21, 2024 at 4:31 PM Alexander Milovidov <
>> > milovid...@gmail.com>
>> > > wrote:
>> > >
>> > > > Hi Justin,
>> > > >
>> > > > Thanks for your help.
>> > > > I will define cluster addresses and queues in the configuration.
>> > Usually
>> > > we
>> > > > don't clean Artemis data on production servers, and IDs of the nodes
>> > > remain
>> > > > the same.
>> > > >
>> > > > > Can you invoke the "getAddressSettingsAsJSON" management method on
>> > the
>> > > > ActiveMQServerControl passing in "$.artemis.internal.sf.#" as the
>> match
>> > > > and provide the output here?
>> > > >
>> > > > {
>> > > >     "addressFullMessagePolicy": "PAGE",
>> > > >     "maxSizeBytes": 524288000,
>> > > >     "pageSizeBytes": 10485760,
>> > > >     "maxDeliveryAttempts": 10,
>> > > >     "messageCounterHistoryDayLimit": 10,
>> > > >     "redeliveryDelay": 0,
>> > > >     "deadLetterAddress": "DLQ",
>> > > >     "minExpiryDelay": 1000,
>> > > >     "maxExpiryDelay": 2592000000,
>> > > >     "redistributionDelay": 1000,
>> > > >     "slowConsumerThresholdMeasurementUnit": "MESSAGES_PER_SECOND",
>> > > >     "autoCreateQueues": true,
>> > > >     "autoDeleteQueues": false,
>> > > >     "autoDeleteCreatedQueues": false,
>> > > >     "configDeleteQueues": "OFF",
>> > > >     "autoCreateAddresses": true,
>> > > >     "autoDeleteAddresses": false,
>> > > >     "configDeleteAddresses": "OFF",
>> > > >     "managementBrowsePageSize": 200,
>> > > >     "autoCreateDeadLetterResources": true,
>> > > >     "deadLetterQueuePrefix": "DLQ.",
>> > > >     "managementMessageAttributeSizeLimit": 10000
>> > > > }
>> > > >
>> > > > (formatted for better reading)
>> > > >
>> > > > чт, 21 нояб. 2024 г. в 20:01, Justin Bertram <jbert...@apache.org>:
>> > > >
>> > > > > > There are no address settings like autoDeleteQueues,
>> > > > > autoDeleteCreatedQueues, configDeleteQueues etc. I wonder how
>> could
>> > > this
>> > > > > happen.
>> > > > >
>> > > > > Can you invoke the "getAddressSettingsAsJSON" management method on
>> > the
>> > > > > ActiveMQServerControl [1] passing in "$.artemis.internal.sf.#" as
>> the
>> > > > match
>> > > > > and provide the output here?
>> > > > >
>> > > > >
>> > > > > Justin
>> > > > >
>> > > > > [1]
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://activemq.apache.org/components/artemis/documentation/javadocs/javadoc-latest/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.html#getAddressSettingsAsJSON(java.lang.String)
>> > > > >
>> > > > > On Thu, Nov 21, 2024 at 3:41 AM Alexander Milovidov <
>> > > > milovid...@gmail.com>
>> > > > > wrote:
>> > > > >
>> > > > > > Hi All!
>> > > > > >
>> > > > > > We have Artemis cluster with two primary / backups, and it
>> worked
>> > > > > normally
>> > > > > > before. Suddenly, the cluster queue was undeployed on one of the
>> > > > cluster
>> > > > > > nodes during reload of the broker configuration. There was a log
>> > > > message
>> > > > > > with event id AMQ224077 Undeploying queue
>> > > > > > $.artemis.internal.sf.cluster-name.cluster-node-uuid.
>> > > > > >
>> > > > > > After this queue was undeployed, the messages which were routed
>> to
>> > > > other
>> > > > > > cluster node were unrouted and discarded.
>> > > > > >
>> > > > > > There are no address settings like autoDeleteQueues,
>> > > > > > autoDeleteCreatedQueues, configDeleteQueues etc. I wonder how
>> could
>> > > > this
>> > > > > > happen.
>> > > > > > The cluster queue was recreated after restart of the cluster
>> > > connector.
>> > > > > >
>> > > > > > I don't know the root cause of the problem and we would like to
>> > > prevent
>> > > > > > this situation in the future because it leads to message loss.
>> Is
>> > it
>> > > ok
>> > > > > to
>> > > > > > make cluster addresses and queues to be configuration-managed on
>> > both
>> > > > > > cluster nodes?
>> > > > > >
>> > > > > > ActiveMQ Artemis version is 2.37.0.
>> > > > > >
>> > > > > > --
>> > > > > > Regards,
>> > > > > > Alexander
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > --
>> > Regards,
>> > Alexander
>> >
>>
>

Reply via email to