You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(webapp): close a latch bypass, and bound the new configuration
The latch check took its argument optionally so as not to disturb
existing callers. One admin route omitted it and therefore skipped the
check entirely, which let a per-organisation override be enabled with
the latch unset: those runs would be resident with their transitions
skipped, and their heads would freeze. An optional safety argument
disables the safety at every caller that forgets it, so it is now
required and the compiler enumerates the call sites. There was exactly
one.
The latch is deployment-wide, like the dial and the hard stop, so an
organisation save now strips it rather than reporting success for a
setting nothing reads from an organisation row.
Bounds on the new numeric configuration. A zero cache lifetime or size
is a constructor error, a zero sweep budget truncates every pass so
rule 2 can never converge, and a zero command timeout fails every
command. Jitter may legitimately be zero.
The cluster service pins its image by digest, as the repository
requires.
// Both keys, because either one past `off` is equally silent without a connection, and either one
13
16
// equally makes a run resident once there is one.
@@ -26,7 +29,7 @@ export function snapshotStoreFlagSaveError(
26
29
// entirely while it is unset, so a run born after the dial moved but before the latch landed would
27
30
// be resident with its transitions skipped, and its head would freeze while Postgres moved on.
28
31
// Refusing here makes that ordering impossible to get wrong rather than merely documented.
29
-
if(opts.everEnabled===false){
32
+
if(!opts.everEnabled){
30
33
for(const{ key, value }ofenabling){
31
34
return`Cannot set ${key} to "${String(value)}" before ${FEATURE_FLAG.snapshotStoreEverEnabled} is true. Set that flag first: until it is, transitions skip the store entirely, so a run born now would be resident with its transitions skipped and its head would freeze.`;
0 commit comments