Skip to content

ARTEMIS-6004 Add clientFailoverAdvertisingEnabled configuration to not send failover server list info to AMQP clients - #6614

Open
KalCramer wants to merge 1 commit into
apache:mainfrom
KalCramer:amqp_failover_list_flag
Open

ARTEMIS-6004 Add clientFailoverAdvertisingEnabled configuration to not send failover server list info to AMQP clients#6614
KalCramer wants to merge 1 commit into
apache:mainfrom
KalCramer:amqp_failover_list_flag

Conversation

@KalCramer

Copy link
Copy Markdown

Description

Add a clientFailoverAdvertisingEnabled connector property to control whether a backup connector is advertised to clients as part of the AMQP failover topology.

Currently, Artemis can advertise the backup connector from the broker's internal cluster topology to AMQP clients. This can cause clients using different internal and external DNS names or ports to receive an unreachable failover endpoint.

For example, an external Qpid JMS client may initially connect using:

amqp://primary.example.com:5672

but receive the internal backup connector from the broker topology:

amqp://backup.internal:61616

The client can then attempt to use the advertised endpoint instead of the endpoint configured by the client.

This is the scenario described in ARTEMIS-6004.

Changes

  • Add the clientFailoverAdvertisingEnabled connector property.
  • Default the property to true to preserve existing behavior.
  • When set to false, the backup connector is not included in the AMQP failover information advertised to clients.
  • The connector remains available for internal broker/cluster use; this change only controls client failover advertisement.
  • Add unit tests covering:
    • failover advertising enabled
    • failover advertising disabled
    • default behavior
    • SSL-enabled failover URIs

Testing

The change was tested with a Java Qpid JMS client using an Artemis HA live/backup configuration where the broker's internal cluster topology uses different hostnames/ports from those exposed to external clients.

With:

clientFailoverAdvertisingEnabled=false

the broker no longer advertises the internal backup connector to the AMQP client.

As a result, external clients no longer need to configure:

failover.amqpOpenServerListAction=IGNORE

to prevent Qpid JMS from replacing their configured failover endpoints with the broker-provided topology.

This provides a broker-side solution for clients that cannot be configured with failover.amqpOpenServerListAction=IGNORE.

…t send failover server list info to AMQP clients
@KalCramer
KalCramer force-pushed the amqp_failover_list_flag branch from 847191b to 0900aed Compare August 13, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant