[ https://issues.apache.org/jira/browse/HBASE-4583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13489834#comment-13489834 ]
Lars Hofhansl commented on HBASE-4583: -------------------------------------- RowMutation is currently limited to Puts and Deletes. Generalizing this is not trivial: * You have make all the changes to the WAL first, sync the WAL, then change the memstore * Potentially you want to release the row lock before the WAL-sync, which mean a rollback phase to the memstore if the WAL sync failed, etc. * Puts and Deletes only need snapshot isolation for consistency, whereas Increment and Append need to be serializable. * Put/Delete/etc are idempotent (client can retry on error) whereas Incement/Append generally aren't (we could make so by passing tokens along). Long way of saying: It's possible, but maybe not as simple as might imagine. :) > 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