You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nick Dimiduk (JIRA)" <ji...@apache.org> on 2017/04/14 21:46:41 UTC
[jira] [Commented] (HBASE-8458) Support for batch version of
checkAndPut() and checkAndDelete()
[ https://issues.apache.org/jira/browse/HBASE-8458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15969567#comment-15969567 ]
Nick Dimiduk commented on HBASE-8458:
-------------------------------------
I have a strong interest in this functionality as well.
{quote}
Alright... It should not be that hard to add (and in a backward compatible):
* Introduce a CheckAndRowMutation class that implements Row.
* Add handling to the multi at the region sever. Can just handle it like multi get at the RS, and just call HRegion.get(...) in a loop. Later we can optimize this similar to miniBatchMutation.
* Use existing batch method on HTable.
{quote}
Any issues with this proposed design? Seems right to me.
> Support for batch version of checkAndPut() and checkAndDelete()
> ---------------------------------------------------------------
>
> Key: HBASE-8458
> URL: https://issues.apache.org/jira/browse/HBASE-8458
> Project: HBase
> Issue Type: Improvement
> Components: Client, regionserver
> Affects Versions: 0.95.0
> Reporter: Hari Mankude
>
> The use case is that the user has multiple threads loading hundreds of keys into a hbase table. Occasionally there are collisions in the keys being uploaded by different threads. So for correctness, it is required to do checkAndPut() instead of a put(). However, doing a checkAndPut() rpc for every key update is non optimal. It would be good to have a batch version of checkAndPut() similar to batch put(). The client can partition the keys on region boundaries.
> The jira is NOT looking for any type of cross-row locking or multi-row atomicity with checkAndPut()
> Batch version of checkAndDelete() is a similar requirement.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)