From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 1E42846970E for ; Mon, 10 Feb 2020 12:49:26 +0300 (MSK) Received: by mail-lj1-f194.google.com with SMTP id r19so6385011ljg.3 for ; Mon, 10 Feb 2020 01:49:25 -0800 (PST) Date: Mon, 10 Feb 2020 12:49:24 +0300 From: Konstantin Osipov Message-ID: <20200210094924.GA920@atlas> References: <1581005653.630549653@f491.i.mail.ru> <20200206162614.GI3311@atlas> <1581323070.966721067@f426.i.mail.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1581323070.966721067@f426.i.mail.ru> Subject: Re: [Tarantool-patches] [PATCH v3 2/2] memtx: allow quota overuse for truncation and deletion List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ilya Kosarev Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org * Ilya Kosarev [20/02/10 11:26]: > > 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. Yes. But the way you say it sounds negative. Are you suggesting not implementing this feature and just hacking in quota bypass is better? Why? > However, after that we will encounter the necessity to calculate > how much space we need to reserve for truncation tuples. No. 1 slab is enough. > 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. Indeed, this would be strange. > 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. Two events can't happen at the same time in a single-threaded application. Please take time to explain what you mean here. -- Konstantin Osipov, Moscow, Russia