From 0847c3d36f8544d509b631fdff2fa3319c82d184 Mon Sep 17 00:00:00 2001 From: jx12n Date: Fri, 19 Jun 2026 16:48:49 -0600 Subject: [PATCH] chore(k8s): roll cluster statefulset to m12-writeburst-rc7 (write-burst fix live) Pin the live cluster to the rc7 amd64 image (@sha256:171505745b801dcf231b531de6167dbc309a7182957811cbc2228f0a302572b1, 6-layer manifest, imagetools-verified) carrying the write-burst false-partition fix (tidal-net record_timeout). Deployed via `kubectl set image`; rolling update completed 3/3 Ready. Reseeds across the rollout were the safe snapshot-install fallback (rejoining behind WAL retention), all converged lag=0, no loop, no loss. --- k8s/cluster/statefulset.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s/cluster/statefulset.yaml b/k8s/cluster/statefulset.yaml index 3076d4e..9bc19f8 100644 --- a/k8s/cluster/statefulset.yaml +++ b/k8s/cluster/statefulset.yaml @@ -84,7 +84,7 @@ spec: mountPath: /data containers: - name: tidaldb - image: registry.threesix.ai/tidal/server@sha256:bd211e7338d100d4755922d7c00d5d78c96aa12ac0d6a916e981f2df495a1b34 # m12-rc6 (LIVE; commit 0919b0a). Chain rc13->rc5->rc6 on top of the rc13 base below: rc5 added the durable election-divergence fix (leader_acked frontier + quarantine-on-self-frontier + 3s handoff drain); rc6 fixed seed-join Learner->Voter auto-promotion (report the caught-up frontier on the heartbeat, Learner-scoped/commit-safe). Retains rc13's WAL_RETENTION_SEGMENTS 4->16 (a follower briefly down across a rolling restart stream-catches-up from WAL instead of forcing a snapshot reseed-on-rejoin; per-shard catch-up window 64MiB->256MiB, worst-case 768MiB/pod retained WAL). Validated: 0-reseed rolling restart [(0,NotNeeded)x3], mp_seed_join PASS, mp_quarantined PASS, 3/3 Ready. + image: registry.threesix.ai/tidal/server@sha256:171505745b801dcf231b531de6167dbc309a7182957811cbc2228f0a302572b1 # m12-writeburst-rc7 (LIVE; tidaldb commit 1b5bcba). Adds the write-burst false-partition fix on top of rc6 (bd211e7338): a follower whose 1536-D HNSW apply momentarily starves its transport runtime makes a leader ship RPC miss the 10s deadline -> tonic DeadlineExceeded was counted as a transport failure (record_failure) -> both followers' breakers latched Open -> commit stalled -> ack=quorum 503-stormed with no self-heal. Fix (tidal-net, heuristic set only; commit.rs/election.rs/vote path UNTOUCHED): record_timeout opens the breaker ONLY when there's no recent proof of life (last_contact stale -> genuine blackhole still detected); DeadlineExceeded|Cancelled route to it, genuine Unavailable still opens. Verified: 6 unit + 2 real-gRPC integration + slow-fsync multi-process regression. Inherits rc6's seed-join + reseed-loop + election-divergence fixes and rc13's WAL_RETENTION_SEGMENTS=16. amd64 manifest (6 layers, imagetools-verified). imagePullPolicy: IfNotPresent # The image ENTRYPOINT is the bare binary. We override the command with # a tiny /bin/sh wrapper (the bookworm-slim runtime HAS a shell) so we