vinyl: do not apply run_count_per_level to the last level
Currently, run_count_per_level index option is applied to each LSM tree level. As a result, we may end up storing each key run_count_per_level times at the last level alone, which would result in prohibitive space amplification. To avoid that, let's ignore run_count_per_level for the last level. Note, we have to tweak quite a few vinyl tests, because they implicitly relied on the fact that producing run_count_per_level dumps would never trigger compaction. Closes #3657
Showing
- src/box/vy_range.c 9 additions, 0 deletionssrc/box/vy_range.c
- test/vinyl/compact.result 7 additions, 16 deletionstest/vinyl/compact.result
- test/vinyl/compact.test.lua 8 additions, 7 deletionstest/vinyl/compact.test.lua
- test/vinyl/deferred_delete.result 21 additions, 3 deletionstest/vinyl/deferred_delete.result
- test/vinyl/deferred_delete.test.lua 11 additions, 3 deletionstest/vinyl/deferred_delete.test.lua
- test/vinyl/errinj.result 7 additions, 3 deletionstest/vinyl/errinj.result
- test/vinyl/errinj.test.lua 2 additions, 1 deletiontest/vinyl/errinj.test.lua
- test/vinyl/gc.result 6 additions, 4 deletionstest/vinyl/gc.result
- test/vinyl/gc.test.lua 4 additions, 3 deletionstest/vinyl/gc.test.lua
- test/vinyl/info.result 2 additions, 2 deletionstest/vinyl/info.result
- test/vinyl/info.test.lua 2 additions, 2 deletionstest/vinyl/info.test.lua
- test/vinyl/layout.result 47 additions, 31 deletionstest/vinyl/layout.result
- test/vinyl/layout.test.lua 3 additions, 0 deletionstest/vinyl/layout.test.lua
- test/vinyl/update_optimize.result 9 additions, 2 deletionstest/vinyl/update_optimize.result
- test/vinyl/update_optimize.test.lua 4 additions, 1 deletiontest/vinyl/update_optimize.test.lua
- test/vinyl/upsert.result 6 additions, 2 deletionstest/vinyl/upsert.result
- test/vinyl/upsert.test.lua 4 additions, 1 deletiontest/vinyl/upsert.test.lua
Loading
Please register or sign in to comment