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

Varun Sharma commented on HBASE-4583:
-------------------------------------

Agreed - this is not simple. In fact, the complexity within this JIRA itself 
shows that MVCC'ing the increment has itself issues.

Thanks for pointing out the above concerns. Lets forget concern #4 since that 
is an issue irrespective of whether the increment is called within a mutation 
or outside a mutation, you can have increments applied twice, thrice etc.

I was thinking that we could potentially do this in steps.
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()

It seems that walEdits for Increment and Append are indeed put(s) - so that 
might be okay. Shall I move this discussion over to another JIRA ?
                
> Integrate RWCC with Append and Increment operations
> ---------------------------------------------------
>
>                 Key: HBASE-4583
>                 URL: https://issues.apache.org/jira/browse/HBASE-4583
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 4583-trunk-less-radical.txt, 
> 4583-trunk-less-radical-v2.txt, 4583-trunk-less-radical-v3.txt, 
> 4583-trunk-less-radical-v4.txt, 4583-trunk-less-radical-v5.txt, 
> 4583-trunk-less-radical-v6.txt, 4583-trunk-radical.txt, 
> 4583-trunk-radical_v2.txt, 4583-trunk-v3.txt, 4583.txt, 4583-v2.txt, 
> 4583-v3.txt, 4583-v4.txt
>
>
> Currently Increment and Append operations do not work with RWCC and hence a 
> client could see the results of multiple such operation mixed in the same 
> Get/Scan.
> The semantics might be a bit more interesting here as upsert adds and removes 
> to and from the memstore.

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