[
https://issues.apache.org/jira/browse/HBASE-15091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15097746#comment-15097746
]
Heng Chen commented on HBASE-15091:
-----------------------------------
Some questions about patch.
In fast path, we use {{this.mvcc.completeAndWait}} under row lock, it will
wait to catch up write point, right?
And i notice that we do {{this.mvcc.complete}} again in finally scope, why?
{code}
+ // Tell mvcc this write is complete.
+ this.mvcc.completeAndWait(walKey.getWriteEntry());
+ walKey = null;
+ } finally {
+ this.updatesLock.readLock().unlock();
+ }
+ } finally {
+ if (walKey != null) this.mvcc.complete(walKey.getWriteEntry());
+ rowLock.release();
+ }
{code}
And in slow path, the same question, you add two lines below, why?
{code}
+ mvcc.completeAndWait(walKey.getWriteEntry());
+ walKey = null;
{code}
> 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)