Kirill Chadakin created ARTEMIS-4910:
----------------------------------------
Summary: Synchronization of HA cluster after modifying divert with
transformer failure
Key: ARTEMIS-4910
URL: https://issues.apache.org/jira/browse/ARTEMIS-4910
Project: ActiveMQ Artemis
Issue Type: Bug
Components: Broker, Clustering, Configuration
Affects Versions: 2.35.0
Reporter: Kirill Chadakin
Attachments: backup_artemis.log, primary_artemis.log
Modifying divert with transformer in a high-availability (HA) cluster with
Apache Artemis by broker.xml results in an _IndexOutOfBoundsException_ error in
the backup logs. This error breaks the connection between the primary and
backup brokers, initiates a quorum vote, and causes the backup to become
active, leading to both brokers operating in parallel.
h2. Steps to Reproduce the Error
1. Create primary broker
{{apache-artemis-2.35.0/bin/artemis.cmd create `}}
{{--host=localhost `}}
{{--default-port=61611 `}}
{{--http-port=8111 `}}
{{--clustered `}}
{{--cluster-user=cls `}}
{{--cluster-password=cls `}}
{{--replicated `}}
{{--name=br11 `}}
{{--user=usr `}}
{{--password=usr `}}
{{--allow-anonymous `}}
{{--no-autotune `}}
{{--no-amqp-acceptor `}}
{{--no-hornetq-acceptor `}}
{{--no-mqtt-acceptor `}}
{{--no-stomp-acceptor `}}
{{br11}}
2. Create backup broker
{{apache-artemis-2.35.0/bin/artemis.cmd create `}}
{{--host=localhost `}}
{{--default-port=61612 `}}
{{--http-port=8112 `}}
{{--clustered `}}
{{--cluster-user=cls `}}
{{--cluster-password=cls `}}
{{--replicated `}}
{{--slave `}}
{{--name=br12 `}}
{{--user=usr `}}
{{--password=usr `}}
{{--allow-anonymous `}}
{{--no-autotune `}}
{{--no-amqp-acceptor `}}
{{--no-hornetq-acceptor `}}
{{--no-mqtt-acceptor `}}
{{--no-stomp-acceptor `}}
{{br12}}
3. Start brokers
4. Add test addresses to primary broker.xml
{{<address name="TEST.IN">}}
{{<anycast>}}
{{<queue name="TEST.IN"/>}}
{{</anycast>}}
{{</address>}}
{{<address name="TEST.OUT">}}
{{<anycast>}}
{{<queue name="TEST.OUT"/>}}
{{</anycast>}}
{{</address>}}
5. Add divert with transformer to primary broker.xml
{{<diverts>}}
{{<divert name="TEST-DIVERT">}}
{{<address>TEST.IN</address>}}
{{<forwarding-address>TEST.OUT</forwarding-address>}}
{{<filter string="LABEL='Test'"/>}}
{{<transformer>}}
{{<class-name>org.apache.activemq.artemis.core.server.transformer.AddHeadersTransformer</class-name>}}
{{</transformer>}}
{{</divert>}}
{{</diverts>}}
h2. Result
- an IndexOutOfBoundsException error will appear in the backup logs
- the connection between primary and backup will be broken
- a quorum vote will be initiated
- the backup will become active and will operate in parallel with the primary
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact