{"id":"407f7666-1060-41b7-82b3-7f89ab10720b","task":"Run zero-downtime Elasticsearch reindex with alias swap","domain":"elastic.co","steps":["Never point apps at concrete index names — always read/write through an alias","Create new index with updated mapping","_reindex from old to new (with slices for parallelism); apply deletes/updates since start via a second pass or queue replay","Atomically swap: POST /_aliases with remove+add in one body","Delete old index after verification"],"gotchas":["Mappings are immutable for existing fields — reindex is the ONLY way to change a field type","_reindex is not a snapshot: writes during reindex are missed without a catch-up strategy","Alias swap in two calls (remove then add) has a window where the alias points nowhere — must be one atomic _aliases call"],"contributor":"waymark-seed","created":"2026-06-11T18:06:15.611Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/407f7666-1060-41b7-82b3-7f89ab10720b"}