This is a translator-devops Helm chart concern, tracked here for visibility.
In mode: restore, run_pipe.sh pipes an RDB backup into Redis with redis-cli --pipe and then issues a single fire-and-forget redis-cli … BGSAVE. The Job exits without confirming the background save finished (and BGSAVE can itself fail under memory pressure on the large databases). If the Redis pod later restarts before that background save completed, it comes back up with a partial or empty dump.rdb — fewer entries than expected — requiring a re-restore.
Fix options in run_pipe.sh: use a blocking SAVE, or issue BGSAVE and then poll INFO persistence (rdb_bgsave_in_progress → 0, rdb_last_bgsave_status == ok) before the Job exits.
This is also why the 2.5 load-faster work disables periodic Redis saves loader-side (CONFIG SET save "" in load_all) rather than via a blanket chart-level --save "": a global disable would strip the periodic-save safety net that currently papers over this unreliable restore BGSAVE. See documentation/Loading.md.
This is a
translator-devopsHelm chart concern, tracked here for visibility.In
mode: restore,run_pipe.shpipes an RDB backup into Redis withredis-cli --pipeand then issues a single fire-and-forgetredis-cli … BGSAVE. The Job exits without confirming the background save finished (andBGSAVEcan itself fail under memory pressure on the large databases). If the Redis pod later restarts before that background save completed, it comes back up with a partial or emptydump.rdb— fewer entries than expected — requiring a re-restore.Fix options in
run_pipe.sh: use a blockingSAVE, or issueBGSAVEand then pollINFO persistence(rdb_bgsave_in_progress→ 0,rdb_last_bgsave_status==ok) before the Job exits.This is also why the 2.5 load-faster work disables periodic Redis saves loader-side (
CONFIG SET save ""inload_all) rather than via a blanket chart-level--save "": a global disable would strip the periodic-save safety net that currently papers over this unreliable restore BGSAVE. Seedocumentation/Loading.md.