RabbitMQ 3.12.0 is now available!

705 views
Skip to first unread message

Michal Kuratczyk

unread,
Jun 2, 2023, 5:22:45 AM6/2/23
to rabbitm...@googlegroups.com
RabbitMQ 3.12.0 is now available!

You can get it here https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.12.0 and many other places (some repositories may take a moment to notice and make it available though).

Key improvements include:
* `lazy` queue mode is now ignored, all classic queues behave similarly to lazy queues (they less memory), while providing better performance than either lazy or non-lazy in the previous versions
* classic queues v2 are now recommended (and will become the default in 3.13)
* MQTT support has been improved significantly
* better OAuth2 support, quorum queue improvements and other goodies

 Make sure all feature flags are enabled before upgrading to 3.12.0.

Read more about this release:

Best,

--
RabbitMQ team

Artur Wroblewski

unread,
Jun 5, 2023, 6:53:54 PM6/5/23
to rabbitm...@googlegroups.com
On Fri, Jun 2, 2023 at 10:22 AM Michal Kuratczyk <mkura...@gmail.com> wrote:
> RabbitMQ 3.12.0 is now available!
[...]

Hi,

Do you mind if I ask you which feature flags need to be enabled
exactly for ver. 3.12?

I skimmed through release notes and linked documentation and cannot
see it (it is late
here though).

Best regards,

Artur

--
https://mortgage.diy-labs.eu/

Michal Kuratczyk

unread,
Jun 5, 2023, 6:56:57 PM6/5/23
to rabbitm...@googlegroups.com
https://github.com/rabbitmq/rabbitmq-server/blob/main/release-notes/3.12.0.md#required-feature-flags
RabbitMQ 3.12.0 will require all feature flags from the 3.11.x release series to be enabled before upgrading, similarly to how 3.11.0 required all feature flags introduced before 3.9.0.

As we said many times - feature flags are not configuration options. They are only meant to be used during a rolling upgrade.
Once an upgrade is successful, they should all get enabled.

Best,


--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/CA%2B92fu_%3DXF%2B1m7%3DDGO8UUNP4AEmkEASKQuVe9owm%2BmLMz3jNeQ%40mail.gmail.com.


--
Michał
RabbitMQ team

Artur Wroblewski

unread,
Jun 6, 2023, 6:39:16 AM6/6/23
to rabbitm...@googlegroups.com
On Tue, Jun 06, 2023 at 12:56:36AM +0200, Michal Kuratczyk wrote
> https://github.com/rabbitmq/rabbitmq-server/blob/main/release-notes/3.12.0.md#required-feature-flags
> RabbitMQ 3.12.0 will require all feature flags from the 3.11.x release
> series to be enabled before upgrading, similarly to how 3.11.0 required
> all feature flags introduced before 3.9.0.

Above leads me to the following blog post

https://blog.rabbitmq.com/posts/2022/07/required-feature-flags-in-rabbitmq-3.11/

I have went with trial and error. Looking at my logs, these are
the flags I had to enable when upgrading from RabbitMQ 3.11.x
to 3.12.0

classic_mirrored_queue_version
classic_queue_type_delivery_support
direct_exchange_routing_v2
listener_records_in_ets
stream_single_active_consumer
tracking_records_in_ets

I hope someone will find this useful.

David Ansari

unread,
Jun 6, 2023, 9:44:31 AM6/6/23
to rabbitmq-users
Thanks Artur.
Instead of going with trial and error, please always enable all stable feature flags after each rolling upgrade (in your case after your rolling upgrade to 3.11.x completed).
For reference, I just also added the complete list of feature flags to https://www.rabbitmq.com/feature-flags.html#list-of-feature-flags

Artur Wroblewski

unread,
Jun 6, 2023, 10:11:50 AM6/6/23
to rabbitm...@googlegroups.com
On Tue, Jun 06, 2023 at 06:44:31AM -0700, David Ansari wrote:
> Thanks Artur.
> Instead of going with trial and error, please always enable all stable
> feature flags after each rolling upgrade (in your case after your rolling
> upgrade to 3.11.x completed).
> For reference, I just also added the complete list of feature flags
> to https://www.rabbitmq.com/feature-flags.html#list-of-feature-flags

Thanks for updating the page. I used the commands from that page last
night, but when skimming through that page I had missed the fact that you
can add "stability" column to the formatted output of the command:

rabbitmqctl -q --formatter pretty_table list_feature_flags \
name state provided_by desc doc_url

Do you mind if I suggest changing above command to:

rabbitmqctl -q --formatter pretty_table list_feature_flags \
name state stability provided_by desc doc_url

?

[...]

David Ansari

unread,
Jun 6, 2023, 10:15:44 AM6/6/23
to rabbitmq-users
Good point.
Yes, please create a Pull Request directly to https://github.com/rabbitmq/rabbitmq-website/
Thank you!

Rony Christian

unread,
Sep 28, 2023, 3:14:28 AM9/28/23
to rabbitmq-users
I have install rabbitmq 3.12 for native mqtt, as per theory it consume less memory as compare to previous version. I'm using rabbitmq 3.10 and it's consume tons of memory. After getting news of rabbitmq native mqtt, I've upgrade to 3.12 but still memory consumption are same as previous version.

I'm stuck in this from last 4 weeks, please let me know if I miss something. Sharing here my configuration (rabbitmq.conf):

#listeners.tcp = none
listeners.ssl.default = 5671
management.ssl.port   = 15671
vm_memory_high_watermark.relative = 0.6
collect_statistics_interval = 60000

#mqtt.listeners.tcp = none
mqtt.listeners.ssl.default = 8883
mqtt.listeners.tcp.1 = 1883
mqtt.prefetch         = 10
mqtt.vhost            = /
mqtt.exchange         = amq.topic
mqtt.allow_anonymous  = true
#mqtt.durable_queue_type = quorum

ssl_options.cacertfile = /etc/ssl/ca-bundle.pem
ssl_options.certfile = /etc/ssl/cert.pem
ssl_options.keyfile = /etc/ssl/privatekey.pem
ssl_options.verify     = verify_none
ssl_options.fail_if_no_peer_cert = false

management.ssl.cacertfile = /etc/ssl/ca-bundle.pem
management.ssl.certfile   = /etc/ssl/cert.pem
management.ssl.keyfile    = /etc/ssl/privatekey.pem

Michal Kuratczyk

unread,
Sep 28, 2023, 3:55:24 AM9/28/23
to rabbitm...@googlegroups.com
Please start a new thread (or a github discussion) and provide the details. Config file is not sufficient.
Most importantly - what's consuming the memory?

rabbitmq-diagnostics memory_breakdown
rabbitmq-diagnostics observer

How many connections do you have? What QoS do you use? If QoS0, have you enabled the feature flags after upgrade (you should do it anyway, but there's one specifically for QoS0).


--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.


--
Michał
RabbitMQ team
Reply all
Reply to author
Forward
0 new messages