diff options
author | chenyang8094 <chenyang8094@users.noreply.github.com> | 2022-04-26 21:31:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-26 16:31:19 +0300 |
commit | 46ec6ad98e6d118bd98a447dcd2307e80bb0fcd6 (patch) | |
tree | 9e0b911ab5276d7bd67ed5be7a5cb4c87ebdc621 /runtest-moduleapi | |
parent | 3a1d14259d5a1cec90a5afa50a49e4d9d881ab37 (diff) | |
download | redis-46ec6ad98e6d118bd98a447dcd2307e80bb0fcd6.tar.gz |
Fix bug when AOF enabled after startup. put the new incr file in the manifest only when AOFRW is done. (#10616)
Changes:
- When AOF is enabled **after** startup, the data accumulated during `AOF_WAIT_REWRITE`
will only be stored in a temp INCR AOF file. Only after the first AOFRW is successful, we will
add it to manifest file.
Before this fix, the manifest referred to the temp file which could cause a restart during that
time to load it without it's base.
- Add `aof_rewrites_consecutive_failures` info field for aofrw limiting implementation.
Now we can guarantee that these behaviors of MP-AOF are the same as before (past redis releases):
- When AOF is enabled after startup, the data accumulated during `AOF_WAIT_REWRITE` will only
be stored in a visible place. Only after the first AOFRW is successful, we will add it to manifest file.
- When disable AOF, we did not delete the AOF file in the past so there's no need to change that
behavior now (yet).
- When toggling AOF off and then on (could be as part of a full-sync), a crash or restart before the
first rewrite is completed, would result with the previous version being loaded (might not be right thing,
but that's what we always had).
Diffstat (limited to 'runtest-moduleapi')
0 files changed, 0 insertions, 0 deletions