mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-17 10:22:56 +00:00
Before this PR, if walredo failed, we would still update `last_redo_at`. This means the `maybe_quiesce()` would never kill that process, although clearly something is wrong. However, we don't want to kill the process immediately on each redo failure, because, the redo failure could be caused by corrupted or malicious data. So, change `maybe_quiesce()` to determine inactivity based on last *successful* `last_redo_at`. The result is that a transient redo failure won't cause a kill. If there are *only* redo failures, we'll spawn & kill walredo process at frequency 1/(10*compaction_period).