mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-20 13:30:46 +02:00
* helm: reject emptyDir for volume idx An ephemeral index on a separate volume is wiped on every pod restart while the .dat/.vif persist on the data PVCs. The volume server then finds data with no matching .idx and exits via glog.Fatalf, putting the pod into CrashLoopBackOff with no automatic recovery. emptyDir is never the right choice for idx: if the data is persistent it is a durability mismatch, and if the data is also ephemeral the default (idx co-located with the data) already covers it. Fail the render with a clear message pointing at the default or a persistent volume instead, and drop emptyDir from the documented idx options. * helm: rebuild a missing volume idx on restart With emptyDir rejected, a separate idx volume is always persistent (hostPath/PVC/existingClaim) -- but it can still lose its .idx out of band (e.g. a node-local PVC reprovisioned on reschedule, or a pre-9944 compaction crash that left a .dat without its matching .idx). The seaweedfs-vol-move-idx init container already moves idx files next to the data into the index dir; have it first regenerate, via weed fix, any .idx absent from both the data dir and the index dir, then move it into place. The rebuild only runs when an idx is genuinely missing, so a healthy index adds no startup cost.