Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2908BDF08 for ; Sat, 20 Oct 2012 03:52:21 +0000 (UTC) Received: (qmail 83257 invoked by uid 500); 20 Oct 2012 03:52:19 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 83041 invoked by uid 500); 20 Oct 2012 03:52:16 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 82958 invoked by uid 99); 20 Oct 2012 03:52:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 20 Oct 2012 03:52:13 +0000 Date: Sat, 20 Oct 2012 03:52:13 +0000 (UTC) From: "Lars Hofhansl (JIRA)" To: issues@hbase.apache.org Message-ID: <604279058.4490.1350705133409.JavaMail.jiratomcat@arcas> In-Reply-To: <125266612.163883.1349326627533.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (HBASE-6942) Endpoint implementation for bulk delete rows MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-6942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13480620#comment-13480620 ] Lars Hofhansl commented on HBASE-6942: -------------------------------------- This: {code} + if (!hasMore) { + // There are no more rows. + break; + } {code} Is at the wrong spot. Per RegionScanner contract a return of false indicates that the there is no *next* batch of values, but that does not mean that there are no KVs in the *current* batch. This check should be at the end of the loop. Passing the number of versions deleted through an attribute is hokey. I wonder whether there is a better approach. For passing the delete type bytes. What I meant was to use a enum backed by bytes. See KeyValue.Type and the getCode and codeToType methods. I'm not sure I see a usecase for the VERSION marker together with a passed timestamp. This will only delete the exact version of all the KVs scanned. Otherwise looks good. @Ted: The batchMutate call will not produce gaps. The first index not successful is equal to the number of successful operations. So this is correct in this patch. Lastly... Are we making this too complicated? The first patch was nice and simple, it only deleted rows. Now we have a pretty complicated piece of code... Just asking, I still think it's a nice patch. > Endpoint implementation for bulk delete rows > -------------------------------------------- > > Key: HBASE-6942 > URL: https://issues.apache.org/jira/browse/HBASE-6942 > Project: HBase > Issue Type: Improvement > Components: Coprocessors, Performance > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Fix For: 0.94.3, 0.96.0 > > Attachments: HBASE-6942_DeleteTemplate.patch, HBASE-6942.patch, HBASE-6942_V2.patch, HBASE-6942_V3.patch, HBASE-6942_V4.patch, HBASE-6942_V5.patch, HBASE-6942_V6.patch > > > We can provide an end point implementation for doing a bulk deletion of rows(based on a scan) at the server side. This can reduce the time taken for such an operation as right now it need to do a scan to client and issue delete(s) using rowkeys. > Query like delete from table1 where... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira