The short answer
Khepri, RabbitMQ's Raft-based metadata store, has been fully supported since 4.0.x and became the default in 4.2.0, replacing Mnesia. Because it uses Raft, updates to metadata — and sometimes queries — need a quorum of nodes; without one, operations such as cluster membership changes time out. Existing clusters enable it with the khepri_db feature flag while all nodes are online.
Need someone who has run this upgrade?
Conntal places RabbitMQ engineers on contract, contract-to-hire or direct hire, each screened by a practitioner before you see a CV.
Every RabbitMQ cluster keeps a metadata store: the database that records everything except queue and stream messages, including users, virtual hosts, topology, runtime parameters and policies [1]. Until 3.13.x that store was always Mnesia [1]. It is now Khepri.
The version line
- Khepri is a fully supported metadata store starting with RabbitMQ 4.0.x [1].
- Khepri became the default backend as of RabbitMQ 4.2.0 [1].
- Khepri is based on the Raft consensus algorithm [1] — the same family of design as quorum queues.
What Raft changes operationally
With Khepri, all operations that update the metadata store, and sometimes even queries, require a quorum number of nodes to be available [2]. Changing cluster membership — adding or removing a member — needs a Raft leader and a quorum to commit; without one, the operation times out [2].
Enabling it on an existing cluster
- Khepri is enabled with the khepri_db feature flag — via rabbitmqctl enable_feature_flag khepri_db, the management UI, or the RABBITMQ_FEATURE_FLAGS environment variable [3].
- It can only be enabled when all cluster nodes are online and healthy; not while a node or the cluster is stopped [3].
- The migration uses resources and pauses other activity briefly near the end, so client operations may time out; RabbitMQ advises running it away from peak load [3].
- If the migration hits an error, everything is rolled back and RabbitMQ continues on Mnesia [3].
What we ask
We ask RabbitMQ engineers what happens to a queue declaration on the minority side of a partition once Khepri is enabled, and how they would schedule the migration on a busy cluster. Engineers who have done it answer with quorum arithmetic and a maintenance window; the rest answer with the feature flag command.
Need someone who has run this upgrade?
Conntal places RabbitMQ engineers on contract, contract-to-hire or direct hire, each screened by a practitioner before you see a CV.
Sources
- [1] RabbitMQ (Broadcom), Metadata store. Retrieved 8 October 2026.Primary source
- [2] RabbitMQ (Broadcom), Clustering and Khepri. Retrieved 8 October 2026.Primary source
- [3] RabbitMQ (Broadcom), How to enable Khepri. Retrieved 8 October 2026.Primary source
Go deeper with the engineers who run it
Conntal is the staffing arm of AceMQ. When you need the platform supported rather than a person placed, these are the pages to read.
Related questions
When did Khepri become RabbitMQ's default metadata store?
In RabbitMQ 4.2.0. Khepri has been fully supported since 4.0.x and replaces Mnesia.
Can you enable Khepri while a RabbitMQ node is down?
No. Khepri can only be enabled when all cluster nodes are online and the cluster is healthy.