Add metrics_labels to make_mutable_config to introduce the value in 3.13 migrated queues, in line with 4.2 queues - #17184
Conversation
|
Tick the box to add this pull request to the merge queue (same as
|
|
Thanks. Let's start with signing the CLA. |
|
@elo-magnier-7s below is a comment I have posted to the Ra PR but it belongs here just as much. I'd like to clarify that we are not adding anything back at the RabbitMQ 3.13-era quorum queues did not persist This approach seems to be the most viable from a few points of view:
The only alternative is indeed forcing the Ra members to be re-created, which can mean a non-trivial amount of effort for every operator migrating from 3.13 to 4.2 and onwards. |
|
After considering tweaking So it's either a tiny |
|
I've poked my team in regards to the CLA, that's going to take some people having a word internally, hopefully not too much time, I'll follow-up Monday, it's Friday near midnight right now 😅 Would you maybe like to have a change of title/commit text? Because reading your comment, it feels like you object to the wording a bit. If that works for you I'll change those Monday, I can't be trusted with a computer right now (and we're waiting for the CLA anyway!) (Oh no, I just saw your edit after writing all that, that you ended at the same conclusion as me! Leaving it for posterity, if that gets an idea flowing for making the change in
The way I see it, outside of altering the ETS table before calling Ok, I see a solution from that that doesn't seem as bad: |
….13 migrated queues, in line with 4.2 queues
b826471 to
c600183
Compare
|
I've changed the commit & PR titles, with no change in code We've made a request for the CLA, so that's on the way too! |
|
@elo-magnier-7s JFYI, there was some progress on building team consensus around this change. |
|
Now that rabbitmq/ra#651 is in, we need a new |
|
Now that https://github.com/rabbitmq/ra/releases/tag/v3.2.0 is out, this PR just needs to wait for a version bump. |
|
Doh #17285. |
|
Given that this bug fix depends on a new But even shipping this fix in |
Proposed Changes
The mutable ra config is re-injected at every ra_server:start (I think it's start at least!), this will inject the missing
metrics_labelsthat will let 3.13 queues emit raft metrics in 4.2/4.3.While it is aggressively re-injecting it, I have seen no place where it is overwritten, and the config should not get re-written to disk if it doesn't change (
ra_log:write_configis gated behind#{has_changed := true}).This has to be paired with a
raPR (incoming) that makes themetrics_labelsmutable.Paired
rachange: rabbitmq/ra#651As far as tests go, it seems hard to test, as it requires a 3.13 era queue.
I have made local tests pass on 4.2.9, and did a "live" check by introducing a patched 4.2.9, then going to an unpatched 4.3.4, and the queues still behaved, so by all means, this solution is overkill - it is a one-time mutate then write, once it is in there, the queue is similar to a 4.2 era queue.
Types of Changes
What types of changes does your code introduce to this project?
Put an
xin the boxes that applyChecklist
Put an
xin the boxes that apply.You can also fill these out after creating the PR.
This is simply a reminder of what we are going to look for before merging your code.
CONTRIBUTING.mddocumentFurther Comments
I am not sure of the status of our CA/CLA, we have contributed code before, but my knowledgable people are on leave.