From: Kirill Yukhin <kyukhin@tarantool.org> To: vdavydov.dev@gmail.com Cc: tarantool-patches@freelists.org, Kirill Yukhin <kyukhin@tarantool.org> Subject: [PATCH 0/4] Reuse tuple formats for ephemeral spaces Date: Tue, 22 Jan 2019 17:07:16 +0300 [thread overview] Message-ID: <cover.1548165435.git.kyukhin@tarantool.org> (raw) In-Reply-To: <cover.1548164931.git.kyukhin@tarantool.org> This patchset makes it possible to re-use tuple_format around multiple ephemeral spaces. This is needed when many SQL requests are served at the same time. In this case for almost each non-trivial SELECT request ephemeral space is created with its own format. Since removal of ephemeral spaces doesn't mean removal of format, and formats count is limited, it is pretty much simple to run out of formats. This occurs on TPC-C benchmark, when number of clients > 32. Issue https://github.com/tarantool/tarantool/issues/3924 Branch https://github.com/tarantool/tarantool/commits/kyukhin/gh-3924-reuse-eph-formats Kirill Yukhin (4): Pass necessary fields to tuple_format contructor Set is_temporary flag for formats of ephemeral spaces sql: set error type in case of ephemral space creation failure Allow to reuse tuple_formats for ephemeral spaces src/box/blackhole.c | 6 +- src/box/box.cc | 4 + src/box/memtx_engine.c | 6 ++ src/box/memtx_space.c | 9 +- src/box/space.c | 3 +- src/box/space_def.c | 16 ++++ src/box/space_def.h | 14 ++++ src/box/sql.c | 6 +- src/box/sql/vdbe.c | 4 +- src/box/tuple.c | 10 ++- src/box/tuple_format.c | 141 +++++++++++++++++++++++++++++--- src/box/tuple_format.h | 32 +++++++- src/box/vinyl.c | 12 +-- src/box/vy_lsm.c | 10 ++- src/errinj.h | 2 + test/box/errinj.result | 8 +- test/sql/errinj.result | 39 +++++++++ test/sql/errinj.test.lua | 14 ++++ test/unit/tuple_bigref.c | 1 + test/unit/vy_iterators_helper.c | 14 ++-- test/unit/vy_mem.c | 5 +- test/unit/vy_point_lookup.c | 5 +- 22 files changed, 305 insertions(+), 56 deletions(-) -- 2.19.1
next prev parent reply other threads:[~2019-01-22 14:07 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-01-22 14:07 Kirill Yukhin 2019-01-22 14:07 ` Kirill Yukhin [this message] 2019-01-22 14:07 ` [PATCH 1/4] Pass necessary fields to tuple_format contructor Kirill Yukhin 2019-01-23 7:53 ` Vladimir Davydov 2019-01-24 8:13 ` Kirill Yukhin 2019-01-22 14:07 ` [PATCH 2/4] Set is_temporary flag for formats of ephemeral spaces Kirill Yukhin 2019-01-23 8:00 ` Vladimir Davydov 2019-01-24 8:53 ` Kirill Yukhin 2019-01-22 14:07 ` [PATCH 3/4] sql: set error type in case of ephemral space creation failure Kirill Yukhin 2019-01-23 8:00 ` Vladimir Davydov 2019-01-22 14:07 ` [PATCH 4/4] Allow to reuse tuple_formats for ephemeral spaces Kirill Yukhin 2019-01-23 8:38 ` Vladimir Davydov 2019-01-24 12:39 ` Kirill Yukhin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1548165435.git.kyukhin@tarantool.org \ --to=kyukhin@tarantool.org \ --cc=tarantool-patches@freelists.org \ --cc=vdavydov.dev@gmail.com \ --subject='Re: [PATCH 0/4] Reuse tuple formats for ephemeral spaces' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox