s6-rc live state and database format upgrades

From: Guillermo <gdiazhartusch_at_gmail.com>
Date: Sun, 20 May 2018 16:53:39 -0300


I was recently reviewing the instructions for the s6-rc dabatase
upgrade procedure, and they made me wonder what would happen if:

* s6-rc-format-upgrade was called with a compiled database that is not
the exact 0.4.0.x equivalent of the one currently associated with the
live state directory (i.e. other that a database created with
s6-rc-compile from version 0.4.0.x and the exact same service

* s6-rc-update from version 0.4.0.x was called with a live state
directory currently associated with a <= database.

Is any of these things capable of trashing s6-rc's live state? I think
that the documentation is clear about the upgrade procedure, but that
these could be likely ways of accidentally screwing it up. Something
like the latter was actually the database upgrade procedure for
previous backwards-incompatible s6-rc upgrades, right? Although I
don't know if any of them involved a database format change.

Also, I'm lost about the role of version

* https://www.mail-archive.com/skaware_at_list.skarnet.org/msg01096.html
* https://git.skarnet.org/cgi-bin/cgit.cgi/s6-rc/tree/doc/upgrade.html?h=real_0.3.0.1

Development of was done in the skarnet.org Git repository in a
'real_0.3.0.1' branch. Development of was done in the master
branch, and the current upgrade notes don't even mention

* http://www.skarnet.org/software/s6-rc/upgrade.html

So, in the end, does upgrading from to 0.4.0.x require an
intermediate s6-rc-compile + s6-rc-update step, and then
0.4.0.x s6-rc-compile + s6-rc-format-upgrade, or not?

(I didn't have running services that I had to preserve, so personally
I didn't need any special care and just upgraded from whatever I had
at the time to s6-rc-, but s6-rc-format-upgrade is now there
and one might need to explain or remind correct usage :) )

Received on Sun May 20 2018 - 19:53:39 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC