[ 
https://issues.apache.org/jira/browse/HBASE-7093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13498264#comment-13498264
 ] 

Varun Sharma commented on HBASE-7093:
-------------------------------------

Good catch - I will fix that part - anything else that might seem structurally 
wrong with the patch (it somewhat changes the RowProcessor interface) - I can 
fix this and also add tests in a subsequent patch
                
> Couple Increments/Appends with Put/Delete(s)
> --------------------------------------------
>
>                 Key: HBASE-7093
>                 URL: https://issues.apache.org/jira/browse/HBASE-7093
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.96.0
>            Reporter: Varun Sharma
>            Assignee: Varun Sharma
>         Attachments: 7093-v1.txt
>
>
> See related issue - https://issues.apache.org/jira/browse/HBASE-4583
> Currently, we cannot bundle increment/append with put/delete operations. The 
> above JIRA MVCC'izes the increment/append operations.
> One issue is that increment(s)/append(s) are not idempotent and hence 
> repeating the transaction has an associated issue of leading to incorrect 
> value/append results. This could be solved by passing additional tokens as 
> part of the append(s).
> One possible high level approach could be:
> 1) Class IncrementMutation which inherits from Increment and Mutation
> 2) In the mutateRow call, we add a case for "IncrementMutation" object
> 3) Factor out the code wrapped inside the "lock and MVCC" from increment() 
> function to internalIncrement.
> 4) Call internalIncrement from mutateRow and increment()

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

Reply via email to