[
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.