rabbitmq-server icon indicating copy to clipboard operation
rabbitmq-server copied to clipboard

CQ: Merge lazy/default behavior into a unified mode

Open lhoguin opened this issue 3 years ago • 4 comments

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

lhoguin avatar Apr 11 '22 13:04 lhoguin

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.

mergify[bot] avatar Jun 03 '22 09:06 mergify[bot]

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.

lhoguin avatar Aug 01 '22 11:08 lhoguin

At least some of the test failures are legitimate. It seems this broke something related to mirrored queues. Investigating...

lhoguin avatar Sep 08 '22 11:09 lhoguin

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).

lhoguin avatar Sep 09 '22 12:09 lhoguin

Thanks!

lhoguin avatar Oct 03 '22 07:10 lhoguin