Tarantool development patches archive
 help / color / mirror / Atom feed
From: "Ilya Kosarev" <i.kosarev@tarantool.org>
To: "Konstantin Osipov" <kostja.osipov@gmail.com>
Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v3 2/2] memtx: allow quota overuse for truncation and deletion
Date: Mon, 10 Feb 2020 11:24:30 +0300	[thread overview]
Message-ID: <1581323070.966721067@f426.i.mail.ru> (raw)
In-Reply-To: <20200206162614.GI3311@atlas>

[-- Attachment #1: Type: text/plain, Size: 1662 bytes --]


As far as i see, memtx reserves extents using specific pool and
mempool_alloc. We will need to implement additional feature to reserve
slabs in memtx arena and provide them specifically for truncation
needs. However, after that we will encounter the necessity to calculate
how much space we need to reserve for truncation tuples. I guess we
might want to reserve a truncation buf for each created space and
re-reserve it on each truncation, although such logic seems
overcomplicated.
Furthermore, the problem with space:delete() might happen exactly when
we are trying to reserve a slab to guarantee successful statement-level
rollback. This can't be fixed using reservation tech. 
>Четверг, 6 февраля 2020, 19:26 +03:00 от Konstantin Osipov <kostja.osipov@gmail.com>:
> 
>* Ilya Kosarev < i.kosarev@tarantool.org > [20/02/06 19:15]:
>>
>> From memtx_tuple_new() we call smalloc(). In case it is calling
>> mempool_alloc(), we are passing the pool from memtx->alloc, chosen
>> depending on it's size. Later this tuple may be deleted. Then smfree()
>> is called, which uses mempool_find() to acquire the pool we want to
>> free.
>> In case we are using some other specific pool, current mempool_find()
>> won't be able to find it. This means we need to process this case
>> explicitly and it seems to add noticeable unjustified complexity to the
>> code.
>Why do you need to use a special pool? Can't you reserve a single
>slab in memtx_arena, just like memtx reserves extents now, and
>allow use of this slab for any pool *only* when processing truncate?
>
>--
>Konstantin Osipov, Moscow, Russia
>https://scylladb.com 
 
 
--
Ilya Kosarev
 

[-- Attachment #2: Type: text/html, Size: 2338 bytes --]

  reply	other threads:[~2020-02-10  8:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-20 18:13 [Tarantool-patches] [PATCH v3 0/2] Safe " Ilya Kosarev
2020-01-20 18:13 ` [Tarantool-patches] [PATCH v3 1/2] b-tree: return NULL on matras_alloc fail Ilya Kosarev
2020-01-21 10:32   ` Nikita Pettik
2020-01-31  8:18     ` Konstantin Osipov
2020-02-04 17:13       ` Nikita Pettik
2020-02-04 17:25         ` Konstantin Osipov
2020-02-04 18:08           ` Nikita Pettik
2020-02-04 18:25             ` Konstantin Osipov
2020-01-21 20:55   ` Vladislav Shpilevoy
2020-01-20 18:13 ` [Tarantool-patches] [PATCH v3 2/2] memtx: allow quota overuse for truncation and deletion Ilya Kosarev
2020-01-21 11:42   ` Nikita Pettik
2020-01-21 20:59     ` Vladislav Shpilevoy
2020-02-14 19:57       ` Ilya Kosarev
2020-01-31  8:21   ` Konstantin Osipov
2020-02-04 18:56     ` Ilya Kosarev
2020-02-04 20:06       ` Konstantin Osipov
2020-02-05 19:11         ` Ilya Kosarev
2020-02-05 19:17           ` Konstantin Osipov
2020-02-06 10:50             ` Ilya Kosarev
2020-02-06 14:29               ` Konstantin Osipov
2020-02-06 16:14                 ` Ilya Kosarev
2020-02-06 16:26                   ` Konstantin Osipov
2020-02-10  8:24                     ` Ilya Kosarev [this message]
2020-02-10  9:49                       ` Konstantin Osipov
2020-02-10 10:43                         ` Ilya Kosarev
2020-02-10 10:50                           ` Konstantin Osipov
2020-02-14 19:55                             ` Ilya Kosarev

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=1581323070.966721067@f426.i.mail.ru \
    --to=i.kosarev@tarantool.org \
    --cc=kostja.osipov@gmail.com \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v3 2/2] memtx: allow quota overuse for truncation and deletion' \
    /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