Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B42F2FE00 for ; Wed, 20 Mar 2013 01:37:07 +0000 (UTC) Received: (qmail 15147 invoked by uid 500); 20 Mar 2013 01:37:06 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 15087 invoked by uid 500); 20 Mar 2013 01:37:06 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 15079 invoked by uid 99); 20 Mar 2013 01:37:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Mar 2013 01:37:06 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of sergey@hortonworks.com designates 74.125.82.175 as permitted sender) Received: from [74.125.82.175] (HELO mail-we0-f175.google.com) (74.125.82.175) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Mar 2013 01:37:00 +0000 Received: by mail-we0-f175.google.com with SMTP id r5so873192wey.20 for ; Tue, 19 Mar 2013 18:36:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type:x-gm-message-state; bh=RQs2mywfmeJ/Lir78Zck0aRyBpPpqEG6p/OOaFxtV3c=; b=Znvf5cERrExY9y9xBjMA9Yr+Ln4jgm+j5Q9490KTV7Fxbjv45ibVGf4IX2JPDXa7SA +B5rKYUBW42D7ahfnXVqeYxQ/SmAHbGRKkvfh6rVM7PU2iiTwhNEh2WiOAZI6eLzFwCa /2cao/Xvw7C7tyEyO0dMzZ0Pr332JAl5MfaqUYm+yCF5FuL+vlt8tKuqAiTNFu5PxFSY dD37R66Iol4SMz19+gRownfeyJmzk7GNVVfaToVFYtvMXw2yRKvei77he3dWQjhkG5EP Zmm9sbM+342dHMKpTdLRYAAmK3nSG0IiNcgfYRDgQXKjXAlTaeV73kL7zmepOmJd/qPO 9ygQ== MIME-Version: 1.0 X-Received: by 10.180.185.197 with SMTP id fe5mr624911wic.3.1363743399624; Tue, 19 Mar 2013 18:36:39 -0700 (PDT) Received: by 10.216.121.204 with HTTP; Tue, 19 Mar 2013 18:36:39 -0700 (PDT) In-Reply-To: References: Date: Tue, 19 Mar 2013 18:36:39 -0700 Message-ID: Subject: Re: Consistency issue when a Put is in the memstore but a more recent Delete is cleaned in a major compaction From: Sergey Shelukhin To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary=001a11c34e9ee65cc104d8514067 X-Gm-Message-State: ALoCoQlD+ZcG38OP+8m2Heu+JscHK+huSgCdxCCOtK8TgAdQlElHDZ/05cout82VXEma3rHRvBXe X-Virus-Checked: Checked by ClamAV on apache.org --001a11c34e9ee65cc104d8514067 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Yes, it is the same window of opportunity that was mentioned in some other JIRAs and threads (see also HBASE-7902) and would have been made wider by dropping deletes during minor compactions :) If flush is done before major compaction, the window will just be narrowed, not eliminated, because you could write data during major compaction... On Tue, Mar 19, 2013 at 2:32 PM, Enis S=F6ztutar wrote= : > I think this came up in recent discussions about the whether we get get r= id > of delete tombstones on non-major compactions. One of the subtasks for > stripe compactions deals with this case. > > > On Tue, Mar 19, 2013 at 2:27 PM, Ted Yu wrote: > > > This is also related: > > > > HBASE-8086 Major compact should flush memstore firstly > > > > On Tue, Mar 19, 2013 at 2:24 PM, Ted Yu wrote: > > > > > Here is one related thread (on minor compaction, though) : > > > > > > Is it feasible to delete qualified tombstones during minor compaction= ? > > > > > > > > > On Tue, Mar 19, 2013 at 1:42 PM, Jean-Daniel Cryans < > jdcryans@apache.org > > >wrote: > > > > > >> Hey guys, > > >> > > >> I looked around a bit and couldn't find a jira directly related to > > >> this. Here's an example of inconsistency in every HBase version > > >> (although the shell won't let you do it in trunk): > > >> > > >> create 't', 'f' > > >> delete 't', '1', 'f:1', 3 > > >> flush 't' > > >> put 't', '1', 'f:1', '1', 2 > > >> scan 't' > > >> major_compact 't' > > >> scan 't' > > >> > > >> The first scan returns nothing, the second one returns the row 1. Th= is > > >> is the same when the delete is bulk loaded and then major compacted > > >> (which is a more legitimate use case). > > >> > > >> What's the common wisdom here? Does anyone remember if we had this > > >> discussion in the past? > > >> > > >> Thx, > > >> > > >> J-D > > >> > > > > > > > > > --001a11c34e9ee65cc104d8514067--