hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-16989) RowProcess#postBatchMutate doesn’t be executed before the mvcc transaction completion
Date Thu, 03 Nov 2016 06:11:58 GMT

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

Anoop Sam John edited comment on HBASE-16989 at 11/3/16 6:11 AM:
-----------------------------------------------------------------

Do we need to change the place where we call this CP hook. (CP hooks comes in with HRegion#doMinibatchMutate())
. RowProcess it is kind of CP.  So in both these places, we should do some change to call
the pre hook method before mvcc complete?  
Or else we need to mark HBASE-15158  as incompatible change.
Ping [~chrajeshbabu32@gmail.com]


was (Author: anoop.hbase):
Do we need to change the place where we call this CP hook. (CP hooks comes in with HRegion#doMinibatchMutate())
. RowProcess it is kind of CP.  So in both these places, we should do some change to call
the pre hook method before mvcc complete?  
Ping [~chrajeshbabu32@gmail.com]

> RowProcess#postBatchMutate doesn’t be executed before the mvcc transaction completion
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-16989
>                 URL: https://issues.apache.org/jira/browse/HBASE-16989
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ChiaPing Tsai
>
> After the [HBASE-15158|https://issues.apache.org/jira/browse/HBASE-15158], RowProcess#postBatchMutate
will be executed “after” the mvcc transaction completion.
> {code:title=HRegion#processRowsWithLocks}
>           // STEP 8. Complete mvcc.
>           mvcc.completeAndWait(writeEntry);
>           writeEntry = null;
>     
>           // STEP 9. Release region lock
>           if (locked) {
>             this.updatesLock.readLock().unlock();
>             locked = false;
>           }
>     
>           // STEP 10. Release row lock(s)
>           releaseRowLocks(acquiredRowLocks);
>     
>           // STEP 11. call postBatchMutate hook
>           processor.postBatchMutate(this);
> {code}
> {code:title=RowProcess#postBatchMutate}
>   /**
>    * The hook to be executed after the process() and applying the Mutations to region.
The
>    * difference of this one with {@link #postProcess(HRegion, WALEdit, boolean)} is this
hook will
>    * be executed before the mvcc transaction completion.
>    */
>   void postBatchMutate(HRegion region) throws IOException;
> {code}
> Do we ought to revamp the comment of RowProcess#postBatchMutate or change the call order?
> I prefer the former, because the HRegion#doMiniBatchMutate() also call postBatchMutate()
after the mvcc transaction completion.
> Any comment? Thanks.



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

Mime
View raw message