@@ -18,3 +18,33 @@ Two new optional built-in interceptors were added to RabbitMQ:
18182 . Setting client ID of publishing MQTT client
1919
2020Detailed information can be found in the [ Message Interceptor] ( https://www.rabbitmq.com/docs/next/message-interceptors ) documentation.
21+
22+ ### Khepri enabled by default
23+
24+ RabbitMQ supports two databases to [ store
25+ metadata] ( https://www.rabbitmq.com/docs/metadata-store ) such as virtual hosts,
26+ topology, runtime parameters, policies, internal users and so on: Mnesia and
27+ Khepri. That metadata store is also at the heart of clustering in RabbitMQ. As
28+ of RabbitMQ 4.2.0, ** Khepri is the default metadata store for new
29+ deployments** .
30+
31+ [ Khepri] ( https://www.rabbitmq.com/docs/metadata-store#khepri ) is based on the
32+ same Raft consensus algorithm used by quorum queues and streams. The goal is to
33+ have a consistent well defined behaviour around all queries and updates of
34+ metadata across an entire cluster, especially when the cluster suffers
35+ increased latency or network issues for instance. It also comes with increased
36+ performance in several use cases, even though this was not a goal.
37+
38+ A new RabbitMQ 4.2.0+ node will use Khepri by default. If you upgrade an
39+ existing node or cluster, it will continue to use whatever metadata store it
40+ was using so far.
41+
42+ If you did not enable Khepri yet, [ it is recommended you enable
43+ it] ( https://www.rabbitmq.com/docs/metadata-store/how-to-enable-khepri ) :
44+
45+ ```
46+ rabbitmqctl enable_feature_flag khepri_db
47+ ```
48+
49+ Khepri will become mandatory in a future minor version. Mnesia support will be
50+ dropped in a future major version. These exact versions are to be decided.
0 commit comments