From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 21 Aug 2018 18:39:25 +0300 From: Konstantin Osipov Subject: Re: [PATCH v2 4/7] vinyl: allow to skip certain statements on read Message-ID: <20180821153925.GD28159@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/08/21 15:19]: > In the scope of #2129 we will defer insertion of certain DELETE > statements into secondary indexes until primary index compaction. > However, by the time we invoke compaction, new statements might > have been inserted into the space for the same set of keys. > If that happens, insertion of a deferred DELETE will break the > invariant which the read iterator relies upon: that for any key > older sources store older statements. To avoid that, let's add > a new per statement flag, VY_STMT_SKIP_READ, and make the read > iterator ignore statements marked with it. It's ok to push. Perhaps we could mark such statements with max-lsn - 1, as discussed, but we can refactor the code to do it later. -- Konstantin Osipov, Moscow, Russia, +7 903 626 22 32 http://tarantool.io - www.twitter.com/kostja_osipov