Skip to content

mode: restore BGSAVE is fire-and-forget; restored DB may not persist #390

Description

@gaurav

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    In progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions