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

stack commented on HBASE-15091:
-------------------------------



bq. In fast path, we use this.mvcc.completeAndWait under row lock, it will wait 
to catch up write point, right?

Yes. This is actually wrong though. In the master branch patch, it should be 
completeAndWait but here I have mistranslated this.mvcc.advanceMemstore... it 
should have become complete only. Thanks for fingering this ('complete' tells 
mvcc that this write can be marked as done, complete, whereas 'completeAndWait' 
says mark the mvcc transaction as done AND wait until the read point catches up 
to the write I just finished).

On your second comment, there is no functional change. We called 
completeAndWait previous. Now I call completeAndWait or just complete if an 
exception: i.e. if walKey != null (it will be null if processing got to the end 
of the method without interrupt -- this is the pattern we use in fast path and 
in the coming master patch).

Let me fix the above.  [~chenheng] Thank you for the review.





> Forward-port HBASE-15031 "Fix merge of MVCC and SequenceID performance 
> regression in branch-1.0"
> ------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-15091
>                 URL: https://issues.apache.org/jira/browse/HBASE-15091
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance
>            Reporter: stack
>            Priority: Blocker
>             Fix For: 1.2.0
>
>         Attachments: 15091v2.branch-1.2.patch, HBASE-15091-branch-1.2.patch, 
> HBASE-15091-branch-1.2_v1.patch, HBASE-15091.v1.branch-1.2.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to