recovery: rewrite recover_remaining_wals()
Don't log exceptions of dead joinable fibers - it will be logged by the caller, so avoid double logging. recover_remaining_wals() is now more like an iterator, vclockset_match() is only called when there is no current WAL. Add a test case for gaps in LSNs.
Showing
- src/box/box.cc 3 additions, 3 deletionssrc/box/box.cc
- src/box/memtx_engine.cc 1 addition, 1 deletionsrc/box/memtx_engine.cc
- src/box/recovery.cc 78 additions, 86 deletionssrc/box/recovery.cc
- src/box/recovery.h 1 addition, 3 deletionssrc/box/recovery.h
- src/box/sophia_engine.cc 1 addition, 1 deletionsrc/box/sophia_engine.cc
- src/box/vclock.c 1 addition, 1 deletionsrc/box/vclock.c
- src/box/vclock.h 10 additions, 11 deletionssrc/box/vclock.h
- src/box/xlog.cc 22 additions, 3 deletionssrc/box/xlog.cc
- src/box/xlog.h 9 additions, 0 deletionssrc/box/xlog.h
- src/fiber.cc 6 additions, 1 deletionsrc/fiber.cc
- test/unit/fiber.result 0 additions, 2 deletionstest/unit/fiber.result
- test/unit/vclock.cc 5 additions, 5 deletionstest/unit/vclock.cc
- test/xlog/errinj.result 1 addition, 0 deletionstest/xlog/errinj.result
- test/xlog/errinj.test.lua 1 addition, 0 deletionstest/xlog/errinj.test.lua
- test/xlog/lsn_gap.result 2 additions, 2 deletionstest/xlog/lsn_gap.result
- test/xlog/lsn_gap.test.py 1 addition, 1 deletiontest/xlog/lsn_gap.test.py
- test/xlog/missing.result 2 additions, 2 deletionstest/xlog/missing.result
- test/xlog/missing.test.py 1 addition, 1 deletiontest/xlog/missing.test.py
- test/xlog/panic.lua 12 additions, 0 deletionstest/xlog/panic.lua
- test/xlog/panic_on_lsn_gap.result 249 additions, 0 deletionstest/xlog/panic_on_lsn_gap.result
Loading
Please register or sign in to comment