From: Nikita Pettik <korablev@tarantool.org>
To: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH] sql: account prepared stmt cache size right after entry removal
Date: Wed, 15 Jan 2020 19:36:34 +0300 [thread overview]
Message-ID: <20200115163634.GA82780@tarantool.org> (raw)
In-Reply-To: <0a9dc9f36c43ab8c9f8e16660a8c9e33074d3ae4.1578904897.git.korablev@tarantool.org>
On 13 Jan 12:50, Nikita Pettik wrote:
> SQL prepared statement cache is implemented as two data structures: hash
> table <stmt_id : pointer-to-metadata> and GC queue. The latter is
> required to avoid workload spikes on session's disconnect: instead of
> cleaning up memory for all session-local prepared statements, prepared
> statements to be deleted are moved to GC queue. When memory limit for PS
> is reached, all elements from queue are removed at once. If statement
> traps to the GC queue it is assumed to be already dead. Accidentally,
> change of occupied by PS cache takes place only after GC queue clean-up,
> so correct size of PS cache is displayed only after GC cycles. Let's fix
> this and account PS cache size change right after entry removal (i.e. at
> the moment PS gets into GC queue).
> ---
> Branch: https://github.com/tarantool/tarantool/tree/np/fix-prepared-stmt-cache-size-calc
>
> src/box/sql_stmt_cache.c | 2 +-
> test/sql/prepared.result | 9 +++++++++
> test/sql/prepared.test.lua | 3 +++
> 3 files changed, 13 insertions(+), 1 deletion(-)
Pushed to master and 2.3 as obvious. Also it resolves accidental test
failure (sql/prepared.test.lua) on Travis/GitLab.
prev parent reply other threads:[~2020-01-15 16:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-13 9:50 Nikita Pettik
2020-01-15 16:36 ` Nikita Pettik [this message]
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=20200115163634.GA82780@tarantool.org \
--to=korablev@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH] sql: account prepared stmt cache size right after entry removal' \
/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