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

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

Seems the RowProcessor way of implementation is possible with the new APIs that 
we give + using some of the CP hook.  So am +1 for removing it.  Given it is 
LimitedPrivate remove or deprecate 1st and then remove?
If we can remove RowProcessor , we can remove getRowLock being exposed to CPs.  
Ya we are giving new APIs which takes rowsToLock so whichever rows need 
additional lock, user can pass them.  It would be really great if we can remove 
this row lock expose.  And so startRegionOp (This is because we are exposing 
getting row lock).
We will have to write one eg: use case with the new APIs and CPs to show how an 
old RowProcessor way is achievable now.
And we will have the unify path.
So at least 4 jiras may be there :-)

> Inconsistent behavior for preBatchMutate in doMiniBatchMutate and 
> processRowsWithLocks
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-18703
>                 URL: https://issues.apache.org/jira/browse/HBASE-18703
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>            Reporter: Duo Zhang
>            Assignee: Umesh Agashe
>            Priority: Critical
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: hbase-18703.master.001.patch, 
> hbase-18703.master.002.patch, hbase-18703.master.003.patch, 
> hbase-18703.master.004.patch, hbase-18703.master.005.patch, 
> hbase-18703.master.005.patch, hbase-18703.master.005.patch, 
> hbase-18703.master.006.patch, hbase-18703.master.007.patch
>
>
> In doMiniBatchMutate, the preBatchMutate is called before building WAL, but 
> in processRowsWithLocks, we suggest the RowProcessor implementation to build 
> WAL in process  method, which is ahead of preBatchMutate.
> If a CP modifies the mutations, especially if it removes some cells from the 
> mutations, then the behavior of processRowsWithLocks is broken. The changes 
> applied to memstore and WAL will be different. And there is no way to remove 
> entries from a WALEdit through CP. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to