From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 31 Jul 2018 23:55:52 +0300 From: Konstantin Osipov Subject: Re: [PATCH 25/25] vinyl: eliminate disk read on REPLACE/DELETE Message-ID: <20180731205552.GR15235@chai> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: Vladimir Davydov Cc: tarantool-patches@freelists.org List-ID: * Vladimir Davydov [18/07/27 16:55]: > When executing a REPLACE or DELETE request for a vinyl space, we need to > delete the old tuple from secondary indexes if any, e.g. if there's a > space with the primary index over field 1 and a secondary index over > field 2 and there's REPLACE{1, 10} in the space, then REPLACE{1, 20} has > to generate DELETE{10, 1} in order to overwrite REPLACE{10, 1} before > inserting REPLACE{20, 1} into the secondary index. Currently, we > generate DELETEs for secondary indexes immediately on request execution, > which makes REPLACE/DELETE operations disk-bound in case the space has > secondary indexes, because in order to delete the old tuple we have to > look it up in the primary index first. Please salvage Vlad's test coverage. Please rebase the patch set after pushing the approved patches. -- Konstantin Osipov, Moscow, Russia, +7 903 626 22 32 http://tarantool.io - www.twitter.com/kostja_osipov