Return-Path: Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: (qmail 87813 invoked from network); 2 Jun 2010 04:39:03 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Jun 2010 04:39:03 -0000 Received: (qmail 4121 invoked by uid 500); 2 Jun 2010 04:39:03 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 4073 invoked by uid 500); 2 Jun 2010 04:39:02 -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 4064 invoked by uid 99); 2 Jun 2010 04:39:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Jun 2010 04:39:02 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Jun 2010 04:38:59 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o524cb7E028686 for ; Wed, 2 Jun 2010 04:38:38 GMT Message-ID: <7568561.122731275453517952.JavaMail.jira@thor> Date: Wed, 2 Jun 2010 00:38:37 -0400 (EDT) From: "stack (JIRA)" To: issues@hbase.apache.org Subject: [jira] Commented: (HBASE-2648) API Rework: Have Delete and Put implement same Interface or subclass same 'Mutation' ancestor (Get too? And Result?) In-Reply-To: <21828680.117701275433895692.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HBASE-2648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12874413#action_12874413 ] stack commented on HBASE-2648: ------------------------------ There is this clause in the description that tries to keep us away from a soln. that works for Put and Delete only: .bq Related, HBASE-1845 wants to do bulk put/gets/deletes all in same way and HBASE-2609 is related in that it asks that the Delete and Put API work the same. 1845 is bulk ops but for Put/Delete and Get. That issue is about doing each mutually exclusively. I'd imagine better would be being able to do a bulk ops that is a mixture of all three and if a smattering all land in the same row, then the bulk ops would be done atomically. HBASE-2609, as I read it, recognizes that Get and Delete are very alike and so API should be alike. > API Rework: Have Delete and Put implement same Interface or subclass same 'Mutation' ancestor (Get too? And Result?) > --------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-2648 > URL: https://issues.apache.org/jira/browse/HBASE-2648 > Project: HBase > Issue Type: Improvement > Reporter: stack > > Our API has a problem in that we can't pass a mix of Put and Delete edits. We see it in various places. > HBASE-1626 tried to add being able to emit Puts and Deletes from your Map or Reduce but as HBASE-1969 points out, it won't work as done. > Ryan talks about need of being able to pass a set of Deletes and Puts against a single row so we can do a bunch of edits all under the umbrella of a single row *lock*. > Related, HBASE-1845 wants to do bulk put/gets/deletes all in same way and HBASE-2609 is related in that it asks that the Delete and Put API work the same. > For at least the first issue, in hbase-1969, "HBASE-1626 does not work as advertised due to lack of "instanceof" check in MR framework", Lars G suggests we have a Mutation class that can carry Deletes and Puts on a row. He notes that the sample client code in the BT table seems to do this. This Mutation carrying-class could be used to solve the Ryan issue above. > But maybe we need something more radical, an API overhaul (again) to do something like was proposed long-time ago in hbase-880. This was an ugly, unfinished proposal but many of the classes shared an ancestor -> https://issues.apache.org/jira/secure/attachment/12395138/880proposal5-v2.png. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.