| 4 Dec 2022 |
Rick (Mindavi) | Maintainers could also setup their own testing with multiple versions of nixpkgs etc | 23:06:03 |
Rick (Mindavi) | But yeah, it is a lot of work to do it properly | 23:06:17 |
raitobezarius | even if we do so, we cannot get the exact same environment as everyone | 23:06:22 |
raitobezarius | I mean, I also run on nixpkgs unstable for my NC with nixos-upgrade (thug life), and I did not have any breakage with the patch level :'( | 23:06:44 |
raitobezarius | (and I can see a log on 4th Dec for a NC unattended upgrade) | 23:07:32 |
@ronnypfannschmidt:matrix.org | Well, i would not have noticed any issues if something unrelated to nextcloud didn't cause a rollback from deploy-rs | 23:16:15 |
raitobezarius | what do you mean? | 23:16:35 |
raitobezarius | (if it caused a rollback, I would be very afraid that the older software would do stupid things while the DB is already migrated) | 23:16:57 |
raitobezarius | (because migrations are not necessarily two ways in all software and that's an unfortunate upstream thing) | 23:17:13 |
@ronnypfannschmidt:matrix.org | Which is precisely why I propose more granular state versions, without the rollback I would never have noted | 23:18:19 |
raitobezarius | I don't understand how granular state version would solve the problem | 23:18:43 |
raitobezarius | As long as you start changing state version, perform the migration then rollback, it would break everything in a lot of cases | 23:19:01 |
@ronnypfannschmidt:matrix.org | They would give control over when to run whose migration | 23:19:15 |
raitobezarius | Sure, but they will certainly not make the footgun disappear | 23:19:42 |
@ronnypfannschmidt:matrix.org | After all the upgrade in my cast completely ignored state versions | 23:20:01 |
@ronnypfannschmidt:matrix.org | One of the promises of nixos is safe rollback | 23:20:59 |
raitobezarius | IMHO, patch-level version are supposed to be backward-compatible on the DB schema level, so it's a upstream issue, but I guess that Nextcloud take liberty on what is patch-level and what is supposed to be backward-compatible and errors are human in the end | 23:21:16 |
raitobezarius | In reply to @ronnypfannschmidt:matrix.org One of the promises of nixos is safe rollback In that case, you don't need granular state version | 23:21:26 |
raitobezarius | You need full state copies at each generation IMHO | 23:21:38 |
raitobezarius | And rollback rollbacks the data | 23:21:43 |
raitobezarius | (but I do agree that the promise is not completely held) | 23:22:17 |
@ronnypfannschmidt:matrix.org | Safe rollback needs control over state transition, including db migration | 23:22:27 |
Rick (Mindavi) | For stateful things like DBs it is hard to do things right | 23:22:45 |
raitobezarius | In reply to @ronnypfannschmidt:matrix.org Safe rollback needs control over state transition, including db migration That's a necessary condition, not a sufficient one | 23:23:02 |
Rick (Mindavi) | And upstream has to support control over db migrations if you want to do anything about it | 23:23:20 |
Rick (Mindavi) | Or you need to pin a specific version of the app to a specific stateVersion | 23:23:52 |
@ronnypfannschmidt:matrix.org | Well, the default nextcloud module does auto migration snd fake password uogrades, so it's problematic anyway | 23:24:15 |
Rick (Mindavi) | Which is how postgresql supports stateVersion | 23:24:24 |
Rick (Mindavi) | But they don't break the db on patch releases... | 23:24:52 |
@ronnypfannschmidt:matrix.org | As for specific versions, i pinned, didn't protect | 23:24:58 |