Skip to content

khepri: starting/stopping a node with many queues is very slow #5429

@mkuratczyk

Description

@mkuratczyk

Note: this issue is related to an unreleased feature

Steps (JSON file available in the sample-configs repo):

bazel run --config=local broker
bazel run --config=local rabbitmqctl enable_feature_flag raft_based_metadata_store_phase1
bazel run --config=local rabbitmqctl import_definitions 50k-classic-queues.json
# from erlang shell
rabbit:stop().
rabbit:start().

Stopping the node took 10 minutes for me. With mnesia, it's just 15s.
Starting the node took 48 minutes for me. With mnesia, it's just 2m26s.

In both cases, the problem is with code compilation. code_server is the most busy process and a CPU flamegraph is almost exclusively about the code_server:
rabbit-stop
rabbit-stop

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions