Allow to reuse tuple_formats for ephemeral spaces
Since under heavy load with SQL queries ephemeral spaces might be extensively used it is possible to run out of tuple_formats for such spaces. This occurs because tuple_format is not immediately deleted when ephemeral space is dropped. Its removel is postponed instead and triggered only when tuple memory is exhausted. As far as there's no way to alter ephemeral space's format, let's re-use them for multiple epehemral spaces in case they're identical. Closes #3924
Showing
- src/box/blackhole.c 2 additions, 1 deletionsrc/box/blackhole.c
- src/box/box.cc 1 addition, 0 deletionssrc/box/box.cc
- src/box/memtx_engine.c 6 additions, 0 deletionssrc/box/memtx_engine.c
- src/box/memtx_space.c 1 addition, 1 deletionsrc/box/memtx_space.c
- src/box/space.c 1 addition, 0 deletionssrc/box/space.c
- src/box/space_def.c 2 additions, 0 deletionssrc/box/space_def.c
- src/box/space_def.h 5 additions, 0 deletionssrc/box/space_def.h
- src/box/tuple.c 7 additions, 2 deletionssrc/box/tuple.c
- src/box/tuple_format.c 173 additions, 10 deletionssrc/box/tuple_format.c
- src/box/tuple_format.h 21 additions, 1 deletionsrc/box/tuple_format.h
- src/box/vinyl.c 3 additions, 2 deletionssrc/box/vinyl.c
- src/box/vy_lsm.c 3 additions, 2 deletionssrc/box/vy_lsm.c
- src/errinj.h 2 additions, 0 deletionssrc/errinj.h
- test/box/errinj.result 6 additions, 2 deletionstest/box/errinj.result
- test/sql/errinj.result 36 additions, 0 deletionstest/sql/errinj.result
- test/sql/errinj.test.lua 13 additions, 0 deletionstest/sql/errinj.test.lua
- test/unit/vy_iterators_helper.c 4 additions, 3 deletionstest/unit/vy_iterators_helper.c
- test/unit/vy_mem.c 2 additions, 1 deletiontest/unit/vy_mem.c
- test/unit/vy_point_lookup.c 2 additions, 1 deletiontest/unit/vy_point_lookup.c
Loading
Please register or sign in to comment