Ubuntu 24.04: How to handle upgrades that jump multiple minors (e.g. when an old version was installed from standard package repositories) #11418
-
I recently upgraded Ubuntu 22.04 to 24.04. As part of this upgrade, rabbitmq-server was upgraded to v3.12.1, the apt version for noble. Previously the version of rabbitmq-server must have been <3.11, although I'm not certain of the exact version. But the service now refuses to start, because feature flags were not enabled before upgrading (which I was not aware of, and received no warnings about when upgrading Ubuntu).
My question is, what is the recommended approach for rectifying this situation? I am unable to downgrade rabbitmq because there is no previous version available to me in any apt repository, even the ones maintained by rabbitmq. I've already tried this:
I am already aware of #9677 but these future plans do not help those of us in a currently broken state. I have searched through all discussions related to this issue but every response just says "you need to downgrade to X" without actually explaining how to downgrade. Is dpkg the only option? Because it looks like an absolute nightmare to manage all the necessary dependencies and their appropriate versions manually. Please help :( |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 5 replies
-
Is this a production server or a dev environment? If a dev env (or any other kind of environment where you don't care about the data currently in RabbitMQ), the easiest option is to delete the data folder ( |
Beta Was this translation helpful? Give feedback.
-
I've tried used docker to get access to a previous version of rabbitmq. Here's what I did:
But when I do this, I get the same errors:
What am I missing here? Shouldn't me running |
Beta Was this translation helpful? Give feedback.
-
As our Debian and Ubuntu installation guide mentions at the very first paragraph, Ubuntu is always — yes, always — at least six, usually 12+ months behind latest RabbitMQ releases. And when they upgrade, it's often a jump of multiple minors, which in recent releases with feature flag graduation means the node will refuse to start in many cases (as long as at least one minor series in between graduates a feature flag). |
Beta Was this translation helpful? Give feedback.
We don't support upgrades that skip minor releases. There were feature flags introduced in 3.10/3.11, so if you enable all 3.9 feature flags and then start 3.12, there are still some flags that 3.12 expects that were not enabled (since 3.9 was unaware of them). If you follow the same process with 3.10 and then 3.11, I think it should work. https://www.rabbitmq.com/docs/upgrade#rabbitmq-version-upgradability
Relying on distro-provided packages is a terrible idea by the way. 3.12 is already out of community support and 3.12.1 is 13 patch releases behind anyway...