Hi Sergei! From a user's perspective I support that position. It is quite friendly. It also gives users a very simple way out if we ever do a "bad release", until we release the hotfix patch. (not that we should be doing bad releases in general, but we know it happens) From a server developer's perspective, it does come with some care needed when doing bug fixing, yet it really aligns well with the ideals of Semantic Versioning and that I like. The challenge for this approach lies in testing it. Let's take a fictitious example such as: 10.11.5 (GA) as an older version and 10.11.10 (GA). Pragmatically, what we can do in our CI/CD is test downgrading from the current version to the previous point version. Doing it from the current version to all past versions would be rather expensive I would think. So in this scenario, we test downgrade from 10.11.10 to 10.11.9 and it works fine. In the past we would have tested 10.11.9 downgrade 10.11.8 and it should've also worked fine. Now, given this testing chain, can we guarantee 10.11.10 -> 10.11.5 is safe? Is this a transitive property? Probably not always, but very likely. Another aspect of difficulty in testing is *what* are the actual requirements to be "downgrade safe"? Starting the server on a data dir is one thing. Ensuring all functionality is present is another. Additionally, ensuring no data incompatibilities exist is hard to test for. Despite these potential challenges, I'm all for this approach as it makes our user's lives easier. Vicentiu On Tue, 1 Aug 2023 at 16:00, Sergei Golubchik via developers < developers@lists.mariadb.org> wrote:
Hi, Vicențiu,
Monty voiced his opinion too, by editing the knowledge base page here: https://mariadb.com/kb/en/downgrading-between-major-versions-of-mariadb/
It seems that he prefers the "compromise approach", downgrade is supported between versions that only differ in the third version component (patch version) as long as both are RC or GA.
Opinions?
On Jul 29, Sergei Golubchik wrote:
Hi, Vicențiu,
There's a compromise approach - mariadb-upgrade is required (and thus downgrade does not work) between major versions, but mariadb-upgrade is not needed (and downgrade works) between minor versions.
So, again, to summarize:
Premise: if mariadb-upgrade is required between versions X and Y, the downgrade from Y to X is impossible
* Option 1: mariadb-upgrade is never required, for any X and Y
* Option 2: mariadb-upgrade may be required for any X and Y
* Option 3: mariadb-upgrade is required when X and Y differ in the first two components and not required if they differ only in the third component
On Jul 28, Sergei Golubchik wrote:
Rather than offer a half-truth, I would us just take a clear stance. We either fully support downgrading between minor versions officially (which has implications on how we approach bug fixes, especially on the storage side), or we don't even encourage it at all, stating "at your own risk", or do a full dump and restore as the only recovery method.
Yes, this is exactly what I meant in my email too. We should make a decision and then it will determine what we'll do.
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org _______________________________________________ developers mailing list -- developers@lists.mariadb.org To unsubscribe send an email to developers-leave@lists.mariadb.org