rabbitmq-server
rabbitmq-server copied to clipboard
CQ: Merge lazy/default behavior into a unified mode
No longer reduce memory usage as well (except an explicit GC that I am pondering about removing).
Beyond simplifying the implementation, this branch also provides better performance than either default or lazy modes.
See this comment before reviewing/merging: https://github.com/rabbitmq/rabbitmq-server/pull/4522#issuecomment-1241913743
Fixes #2832
This pull request modifies the erlang.mk build only. If it is a deps update or PROJECT_ENV change, remember to sync any changes to the bazel files.
There's a very rare crash that remains and I am still hunting for. Almost all issues are fixed. After that, clean up, and prepare to merge to master.
At least some of the test failures are legitimate. It seems this broke something related to mirrored queues. Investigating...
OK now that CI is green I am opening this for review. The goal is to have this as part of 3.12 so it would make sense to merge it soon after 3.11 gets released. I will work on updating the CQ documentation, especially considering this removes default/lazy distinction (they can still be configured but they now act the same) and a couple settings no longer do anything (because CQs no longer reduce memory usage).
@mkuratczyk now would be a great time to do a compare of 3.11 against this branch (it was rebased earlier this week).
Thanks!