tree f7f9cd79b8e00e4615d1639d761a82a9e00fc49b
parent e0fa91ffe16a91d758154ff900d16b16b368e81b
author Willy Tarreau <w@1wt.eu> 1661964737 +0200
committer Willy Tarreau <w@1wt.eu> 1662013534 +0200
encoding latin1

MINOR: sink/ring: rotate non-empty file-backed contents only

If the service is rechecked before a reload, that may cause the config
to be parsed twice and file-backed rings to be lost.

Here we make sure that such a ring does contain information before
deciding to rotate it. This way the first process starting after some
writes will cause a rotate but not subsequent ones until new writes
are applied.

An attempt was also made to disable rotations on checks but this was a
bad idea, as the ring is still initialized and this causes the contents
to be lost. The choice of initializing the ring during parsing is
questionable but the config check ought to be as close as possible to a
real start, and we could imagine that the ring is used by some code
during startup (e.g. lua). So this approach was abandonned and config
checks also cause a rotation, as the purpose of this rotation is to
preserve latest information against accidental removal.
