[Tarantool-patches] [PATCH 0/3] Safe allocation on truncation and deletion
Ilya Kosarev
i.kosarev at tarantool.org
Fri Dec 13 10:05:08 MSK 2019
space:truncate() and space:delete() could fail on memory allocations
when reaching memtx_memory limit. As far as it is quite an ill
behaviour, it is fixed in this patchset through denial of extra
memory reservation and unconstrained allocation of service tuples
in BOX_TRUNCATE_ID space.
Branch: https://github.com/tarantool/tarantool/tree/i.kosarev/gh-3807-safe-alloc-on-truncation
Issue: https://github.com/tarantool/tarantool/issues/3807
Ilya Kosarev (3):
b-tree: return NULL on matras_alloc fail
memtx: don't reserve extra memory if not needed
tuple: use calloc for service truncation tuples
src/box/memtx_engine.c | 50 ++++++++++++++++++++++++++--------------
src/box/memtx_engine.h | 2 +-
src/box/memtx_space.c | 34 ++++++++++++++++++++-------
src/box/tuple.c | 16 +++++++++----
src/box/tuple.h | 2 +-
src/box/tuple_format.c | 1 +
src/box/tuple_format.h | 10 +++++++-
src/box/vy_stmt.c | 3 ++-
src/lib/salad/bps_tree.h | 2 ++
9 files changed, 87 insertions(+), 33 deletions(-)
--
2.17.1
More information about the Tarantool-patches
mailing list