Tarantool development patches archive
 help / color / mirror / Atom feed
From: Konstantin Osipov <kostja@tarantool.org>
To: tarantool-patches@freelists.org
Cc: vdavydov.dev@gmail.com, Serge Petrenko <sergepetrenko@tarantool.org>
Subject: Re: [tarantool-patches] [PATCH v2] memtx: add yields during index build
Date: Thu, 23 May 2019 18:25:44 +0300	[thread overview]
Message-ID: <20190523152544.GA17820@atlas> (raw)
In-Reply-To: <20190523141111.14885-1-sergepetrenko@tarantool.org>

* Serge Petrenko <sergepetrenko@tarantool.org> [19/05/23 17:58]:
> Memtx index build used to stall event loop for all the build period.
> Add occasional yields so that the loop is not blocked for too long.
> Also make index build set on_replace triggers so that concurrent
> replaces are also correctly handled during the build.
> 
> Closes #3976

The next piece of the puzzle is we need to understand how this
replicates. 

What would be the order of such a concurrent execution on replica? 

I'd assume it would stop the applier until the build is finished,
is this right, Georgy? 

I think this is the only reasonable and safe thing to do, do you
have other opinions?

If no, we just need to test it with some timeout injections on
replica, in particular add a test which breaks replication by
inserting a conflicting row while the index is being built.
This test would be useful for both engines, I guess.

-- 
Konstantin Osipov, Moscow, Russia

  reply	other threads:[~2019-05-23 15:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-23 14:11 Serge Petrenko
2019-05-23 15:25 ` Konstantin Osipov [this message]
2019-05-28 15:36   ` [tarantool-patches] " Serge Petrenko
2019-05-27 16:45 ` Vladimir Davydov
2019-05-28 15:34   ` Serge Petrenko

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=20190523152544.GA17820@atlas \
    --to=kostja@tarantool.org \
    --cc=sergepetrenko@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=vdavydov.dev@gmail.com \
    --subject='Re: [tarantool-patches] [PATCH v2] memtx: add yields during index build' \
    /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