Tarantool development patches archive
 help / color / mirror / Atom feed
From: "Maxim Kulis" <bokuno@picodata.io>
To: "Nikita Pettik" <korablev@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH] vinyl: prohibit vinyl_level_size_ratio less than two
Date: Tue, 04 Feb 2020 03:27:20 +0300	[thread overview]
Message-ID: <1580776040.411095433@f329.i.mail.ru> (raw)
In-Reply-To: <20200131002411.GA62548@tarantool.org>

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

Hi!

> Put a link to the issue below '---' delimiter next time.

Ok!

> Please, add a brief explanation to the commit message and then patch will
> be OK to push. Thanks.

When vinyl_run_size_ratio less then 2, LSM-tree could work incorrect.

For example:
Suppose the L0 size is 100Mb, the ratio of run sizes at each LSM-tree
level is 1.5 and there can be no more than 2 runs per level (the variable
vinyl_run_count_per_level). After the first 3 dumps, the disk will contain
3 runs of 100 Mb at L1. Let the dump contain many delete operations, so
the runs will be compacted into a single 200 Mb run. It will be moved to L2.
The next 3 dumps will produce 300 Mb run and it will be moved to L3,
because there could be only 150-225 Mb files at L2. the new file is
lower than the old one, what contradicts the basic idea of the tree LSM-tree.
Similarly with the vinyl_run_count_per_level = 1.

branch:  https://github.com/maksimkulis/tarantool/tree/maksimkulis/bh-3346-fix-run-size-ratio


>Пятница, 31 января 2020, 3:24 +03:00 от Nikita Pettik <korablev@tarantool.org>:
>
>On 24 Jan 14:04, Maxim Kulis wrote:
>> 
>> 
>> Hi! 
>> Yes, here is the new patch.
>> 
>> Change the minimum possible value of the variable vinyl_run_size_ratio to 2. 
>> 
>> Closes #3346
>> 
>> issue:  https://github.com/tarantool/tarantool/issues/3346
>> ---
>
>Put a link to the issue below '---' delimiter next time.
>
>> >> >Finally, I would add brief explanation to the commit message why
>> >> >run_size_ratio less than 2 is meaningless (for those who are not
>> >> >familiar with vinyl inner organization).
>
>Please, add a brief explanation to the commit message and then patch will
>be OK to push. Thanks.
>


-- 
Maxim Kulis

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

      reply	other threads:[~2020-02-04  0:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02 16:11 Maksim Kulis
2019-12-05 11:27 ` Nikita Pettik
     [not found]   ` <1578908907.647593657@f120.i.mail.ru>
2020-01-15 17:36     ` Nikita Pettik
2020-01-24 11:04       ` Maxim Kulis
2020-01-31  0:24         ` Nikita Pettik
2020-02-04  0:27           ` Maxim Kulis [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=1580776040.411095433@f329.i.mail.ru \
    --to=bokuno@picodata.io \
    --cc=korablev@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH] vinyl: prohibit vinyl_level_size_ratio less than two' \
    /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