diff --git a/release-notes/4.2.0.md b/release-notes/4.2.0.md index 7c5cfaf5dd..2534cd5921 100644 --- a/release-notes/4.2.0.md +++ b/release-notes/4.2.0.md @@ -18,3 +18,33 @@ Two new optional built-in interceptors were added to RabbitMQ: 2. Setting client ID of publishing MQTT client Detailed information can be found in the [Message Interceptor](https://www.rabbitmq.com/docs/next/message-interceptors) documentation. + +### Khepri enabled by default + +RabbitMQ supports two databases to [store +metadata](https://www.rabbitmq.com/docs/metadata-store) such as virtual hosts, +topology, runtime parameters, policies, internal users and so on: Mnesia and +Khepri. That metadata store is also at the heart of clustering in RabbitMQ. As +of RabbitMQ 4.2.0, **Khepri is the default metadata store for new +deployments**. + +[Khepri](https://www.rabbitmq.com/docs/metadata-store#khepri) is based on the +same Raft consensus algorithm used by quorum queues and streams. The goal is to +have a consistent well defined behaviour around all queries and updates of +metadata across an entire cluster, especially when the cluster suffers +increased latency or network issues for instance. It also comes with increased +performance in several use cases, even though this was not a goal. + +A new RabbitMQ 4.2.0+ node will use Khepri by default. If you upgrade an +existing node or cluster, it will continue to use whatever metadata store it +was using so far. + +If you did not enable Khepri yet, [it is recommended you enable +it](https://www.rabbitmq.com/docs/metadata-store/how-to-enable-khepri): + +``` +rabbitmqctl enable_feature_flag khepri_db +``` + +Khepri will become mandatory in a future minor version. Mnesia support will be +dropped in a future major version. These exact versions are to be decided.