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

Umesh Agashe edited comment on HBASE-18703 at 9/21/17 7:23 PM:
---------------------------------------------------------------

[~anoop.hbase], [~Apache9]:

These two code paths look very similar and I found comments/ todos in the code 
about unifying these two paths. The main difference I see here is:
* one is atomic and other is not
* Atomic path guarantees the oder of operations and non-atomic path does not

To remove inconsistencies (above mentioned + a few other minor), I am working 
on a patch to unify these paths. I think I will be able to upload the patch 
soon. Let me know your thoughts.


was (Author: uagashe):
[~anoopamz], [~Apache9]:

These two code paths look very similar and I found comments/ todos in the code 
about unifying these two paths. The main difference I see here is:
* one is atomic and other is not
* Atomic path guarantees the oder of operations and non-atomic path does not

To remove inconsistencies (above mentioned + a few other minor), I am working 
on a patch to unify these paths. I think I will be able to upload the patch 
soon. Let me know your thoughts.

> 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
>
>
> 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