From: Konstantin Osipov via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH v3] wal: introduce limits on simultaneous writes Date: Fri, 26 Feb 2021 10:18:29 +0300 [thread overview] Message-ID: <20210226071829.GD18388@starling> (raw) In-Reply-To: <c7427ac4-73ed-2763-4834-dd8bdd73ae82@tarantool.org> * Vladislav Shpilevoy <v.shpilevoy@tarantool.org> [21/02/26 10:15]: > > I'd also question the place where you decided to put this gate. > > The source of the issue is async requests, not WAL, which worked > > fine in absence of async requests. So it's async requests that > > should be gated, not WAL. > > In the commit message it is clearly stated why it is in the > journal's code, not just in the applier: > > The feature is ready for `box.commit{is_async=true}`. Once it's > implemented, it should check whether the queue is full and let the user > decide what to do next. Either wait or roll the tx back. > > Async transactions will be exposed to 'userspace' to be able to reduce > latency for network requests ending with a transaction. They won't have > to wait for WAL write to end. You did not understand my comment. I tried to say that a major part of this code is generic and should reside in lib/core as a counting semaphore abstraction. Async transaction simply use this counting semaphore to throttle themselves. Then neither WAL nor any other resource used by async transactions will be overloaded. Otherwise, the system would be allowed to create async transactions, and while WAL will not overflow, some other resource (memory, transaction identifiers, whatever) may still overflow. > > Otherwise your overflow will just spill out someplace else. > > On the contrary. Your proposal to do it in the applier would lead to > queue overflow in some other place - in userspace. When the queue is > for the entire WAL, it won't overflow. I did not say it should be in the applier. -- Konstantin Osipov, Moscow, Russia https://scylladb.com
next prev parent reply other threads:[~2021-02-26 7:18 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-24 19:35 Serge Petrenko via Tarantool-patches 2021-02-24 19:40 ` Serge Petrenko via Tarantool-patches 2021-02-25 13:05 ` Konstantin Osipov via Tarantool-patches 2021-02-26 0:57 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-26 7:18 ` Konstantin Osipov via Tarantool-patches [this message] 2021-02-26 20:23 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-26 21:20 ` Konstantin Osipov via Tarantool-patches 2021-02-26 22:44 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-27 13:27 ` Konstantin Osipov via Tarantool-patches 2021-03-01 19:15 ` Serge Petrenko via Tarantool-patches 2021-03-01 21:46 ` Konstantin Osipov via Tarantool-patches 2021-02-26 0:56 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-01 19:08 ` Serge Petrenko via Tarantool-patches 2021-03-01 22:05 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-02 17:51 ` Serge Petrenko via Tarantool-patches 2021-03-03 20:59 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-09 15:10 ` Serge Petrenko via Tarantool-patches 2021-03-09 19:49 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-10 8:18 ` Konstantin Osipov via Tarantool-patches 2021-03-12 17:10 ` Serge Petrenko via Tarantool-patches 2021-03-13 19:14 ` Konstantin Osipov via Tarantool-patches 2021-03-15 23:42 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-16 6:45 ` Konstantin Osipov via Tarantool-patches 2021-03-16 20:27 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-16 10:19 ` Serge Petrenko via Tarantool-patches 2021-03-16 20:48 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-17 12:14 ` Serge Petrenko via Tarantool-patches 2021-03-17 21:02 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-19 11:32 ` Serge Petrenko via Tarantool-patches 2021-03-19 15:36 ` Kirill Yukhin via Tarantool-patches
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=20210226071829.GD18388@starling \ --to=tarantool-patches@dev.tarantool.org \ --cc=kostja.osipov@gmail.com \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v3] wal: introduce limits on simultaneous writes' \ /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