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

Anoop Sam John commented on HBASE-15082:
----------------------------------------

As per the steps in doMinibatchMutation, we have
{code}
 // STEP 6. Complete mvcc.
3117          WALKey.completeMvcc(walKey);
3118          // Clear walKey so don't complete for second time in finally 
below.
3119          walKey = null;
3120    
3121          // STEP 7. Release row locks, etc.
3122          if (locked) {
3123            this.updatesLock.readLock().unlock();
3124            locked = false;
3125          }
{code}
Completed the mvcc and so fwded the readPnt and after that only releasing the 
readlock on 'updatesLock'.    For a flush we need write lock on 'updatesLock' 
means by the time the flush happens, all cells going to be into snapshot and so 
flush will be read ready.  So we no longer need persist the seqId in Cells?  I  
believe so.  Then we will have good optimization in read path.. 


> Fix merge of MVCC and SequenceID performance regression
> -------------------------------------------------------
>
>                 Key: HBASE-15082
>                 URL: https://issues.apache.org/jira/browse/HBASE-15082
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance
>            Reporter: stack
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>
>         Attachments: 15082.patch, 15082v2.patch, 15082v2.txt, 15082v3.txt, 
> 15082v4.patch, 15082v5.patch, 15082v6.patch, 15082v7.patch
>
>
> This is general fix for increments (appends, checkAnd*) perf-regression 
> identified in the parent issue. HBASE-15031 has a narrow fix for branch-1.1 
> and branch-1.0.



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

Reply via email to