[ https://issues.apache.org/jira/browse/HBASE-2648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell resolved HBASE-2648. ----------------------------------- Resolution: Fixed We have done this elsewhere > 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 was sent by Atlassian JIRA (v6.2#6252)