Quorum Queue Enablement for Xray and Platform Helm Charts

Enable RabbitMQ Quorum Queues in Xray 3.124.x+ and Platform Helm charts. Replaces deprecated Classic Queue mirroring.

For prerequisites and an overview of the full quorum upgrade process, see the Quorum Queue Upgrade landing page.

Support for quorum queues has been added in JFrog Xray chart version 3.124.x. Currently, Xray uses RabbitMQ with mirrored classic queues. We recommend transitioning to quorum queues, as classic queue mirroring will be deprecated in RabbitMQ 4.x.

⚠️

Applies to Both Xray and Platform Charts

  • Irreversible Migration: Once you switch to quorum queues, rolling back to classic queues is not supported. Switch only when you are ready to commit permanently.
  • Replica Count: In quorum mode, a RabbitMQ replicaCount of 3 is recommended for high availability.

Xray Charts

📘

Note

From version 3.124.x

Fresh Installation

Apply the following configuration to enable quorum queues during a fresh install.

rabbitmq:
  replicaCount: 3
  podManagementPolicy: Parallel

global:
  xray:
    rabbitmq:
      replicaCount: 3
      haQuorum:
        enabled: true
      migrateMessagesFromXrayDefaultVhost: true

Upgrade from Classic to Quorum Queues

Apply the following configuration to upgrade from classic queues to quorum queues:

rabbitmq:
  replicaCount: 3
  podManagementPolicy: Parallel
  extraPlugins: "rabbitmq_shovel rabbitmq_shovel_management"
  migration:
    deleteStatefulSetToAllowFieldUpdate:
      enabled: true
    removeHaPolicyOnMigrationToHaQuorum:
      enabled: true

global:
  xray:
    rabbitmq:
      replicaCount: 3
      haQuorum:
        enabled: true
      migrateMessagesFromXrayDefaultVhost: true

Platform Charts

📘

Note

From version 11.2.0

Fresh Installation

Apply the following configuration to enable quorum queues during a fresh install:

rabbitmq:
  replicaCount: 3
  podManagementPolicy: Parallel

global:
  xray:
    rabbitmq:
      replicaCount: 3
      haQuorum:
        enabled: true
      migrateMessagesFromXrayDefaultVhost: true

Upgrade from Classic to Quorum Queues

Apply the following configuration to upgrade from classic queues to quorum queues:

rabbitmq:
  replicaCount: 3
  podManagementPolicy: Parallel
  extraPlugins: "rabbitmq_shovel rabbitmq_shovel_management"
  migration:
    deleteStatefulSetToAllowFieldUpdate:
      enabled: true
    removeHaPolicyOnMigrationToHaQuorum:
      enabled: true

global:
  xray:
    rabbitmq:
      replicaCount: 3
      haQuorum:
        enabled: true
      migrateMessagesFromXrayDefaultVhost: true

Verify the migration is successful

Verify the migration is successful. See Verify quorum migration is complete.

Switch to RabbitMQ 4.x

📘

Note

Switching to RabbitMQ 4.x requires quorum queues to be enabled in the existing deployment. First, switch to quorum queues and verify the migration is successful, and then upgrade to RabbitMQ 4 in a two-stage process.

Xray Charts

Override the below tag in values.yaml

rabbitmq:
  image:
    tag: 4.1.8-echo

Platform Charts

Override the below tag in values.yaml

rabbitmq:
  image:
    tag: 4.1.8-echo

Related Topics