vinyl: abort worker threads on shutdown
If the user terminates tarantool while compaction is in progress, tarantool won't exit immediately - it will hang until all dump and compaction tasks that are currently in progress are complete, which may take quite a while on large data sets. What is especially funny, once a task has been finished, vinyl will not commit the produced run file in the vylog, because the event loop has already been stopped, and so will delete it after restart and schedule the task anew. This patch makes the scheduler forcefully abort all running tasks as soon as possible. Closes #3166
Showing
- src/box/vy_scheduler.c 18 additions, 7 deletionssrc/box/vy_scheduler.c
- src/errinj.h 1 addition, 0 deletionssrc/errinj.h
- test/box/errinj.result 3 additions, 1 deletiontest/box/errinj.result
- test/vinyl/errinj.result 40 additions, 0 deletionstest/vinyl/errinj.result
- test/vinyl/errinj.test.lua 16 additions, 0 deletionstest/vinyl/errinj.test.lua
Loading
Please register or sign in to comment