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

Lars Hofhansl commented on HBASE-4583:
--------------------------------------

After thinking about this for a bit I am going to follow a different approach:
1. get locks
2. setup rwcc
3. sync WAL (of requested)
4. update memstore (add KVS)
5. forward rwcc
6. release locks
7. remove old dup KVs from memstore (pure optimization)

This is guaranteed to produce serializable schedules (but the WAL is sync'ed 
with lock held). Somebody who's not interested in absolute correctness, could 
pass false as writeToWal or enable deferredFlush.
Since the expensive part is sync'ing the WAL I do not see any ways to make this 
better.

Will have a new patch later tonight.
                
> 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.94.0
>
>         Attachments: 4583-v2.txt, 4583-v3.txt, 4583-v4.txt, 4583.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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to