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

Ted Yu commented on HBASE-7093:
-------------------------------

{code}
     for (Mutation m : mutations) {
...
+        advancedMemstoreWrite = region.prepareAppend((Append)m, now, 
!advancedMemstoreWrite);
{code}
Since prepareAppend() is called in a loop, if there're multiple Append's in 
mutations, the value of waitForPreviousMemstoreWrite would toggle between calls 
to prepareAppend(), right ?
That doesn't seem to be what you wanted.
                
> 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