On Thu, May 29, 2025, at 08:37, José Armando García Sancio wrote: > Hi Colin, > > On Tue, May 27, 2025 at 8:57 PM Colin McCabe <cmcc...@apache.org> wrote: >> My argument was that it would be unlikely that all three of these things >> would be true. One reason why I think this is that 3.7-IV3 is a pretty old >> MV at this point anyway. > > Then why not enforce that in the KIP and code? You are basically > saying that because MV 3.7 is so old, the clusters should not > downgrade before that version.
Hi Jose, OK. I will edit it to say that you can’t go back to before MV 3.7-IV3. Then we can drop the discussion of this corner case. > >> In the scenario described above, restarting the process is all that is >> needed. > > Okay. > >> Hmm, I'm having trouble understanding your question in this case. The >> initial question was something like "what happens if the broker exits before >> generating the snapshot"? And the answer to that is "the broker generates >> the snapshot once you start it up again." After all, it is reading the same >> log, and encountering the same FeatureLevelRecord. >> >> Does that answer the question? > > Doesn't this assume that brokers (and the minority of controllers) are > online when the metadata version is getting changed (downgrades and > upgrades)? > > Note that this can also happen if the brokers are online since > snapshot generation is async but maybe it is easier to understand the > scenario if you assume that the broker is offline when the MV was > upgraded and downgraded. > It doesn’t matter whether the brokers are online when the MV is changed. They’ll replay the log and generate the appropriate snapshots whenever they come online. Best, Colin > Thanks, > -- > -José