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

Lars Hofhansl edited comment on HBASE-4583 at 10/28/12 12:09 AM:
-----------------------------------------------------------------

Here's a pretty radical change!

It removes Memstore.upsert completely along with all callers and all tests that 
were testing that functionality.

Note that while upsert is no longer needed for *correctness* (it used to set 
the memstoreTS to 0 so that other increments/appends would be guaranteed to see 
the previous values), it was still a potential performance improvement because 
stale KVs were removed immediately.

However, this actually used to violate the HBase VERSIONS contract.
TestAtomicOperation.testIncrementMultiThreads is not measurably slower on my 
machine.

With this patch Increment and Append are no longer special w.r.t. MVCC.

                
      was (Author: lhofhansl):
    Here's a pretty radical change!

It remove Memstore.upsert completely along with all callers and all tests that 
testing this functionality.

Note that while upsert is no longer needed for *correctness* (it used to set 
the memstoreTS to 0 so that other increments/appends would be guaranteed to see 
the previous values), it was still a potential performance improvement because 
stale KVs were removed immediately.

However, this actually violated the HBase VERSIONS contract.
TestAtomicOperation.testIncrementMultiThreads is not measurably slower on my 
machine.
                  
> 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.3, 0.96.0
>
>         Attachments: 4583-trunk-radical.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