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

ChiaPing Tsai edited comment on HBASE-16933 at 11/22/16 1:02 AM:
-----------------------------------------------------------------

bq. If you have a use case, can u tell us how u use it and return bypass = true
I have no use case about the bypass=true, yet I have a observer which 
transforms the specified PUT into another one(PUT) by preBatchMutate(). The 
origin PUT will be skipped after transforming. The observer is working via the 
Table#put, nevertheless it isn't working via the Table#mutateRow.
Although I don't submit the data via the Table#mutateRow, it seems to me that 
the different write flows should have the same use of preBatchMutate() (and 
other cp hook).


was (Author: chia7712):
bq. If you have a use case, can u tell us how u use it and return bypass = true
I have no use case about the bypass=true, yet I have a observer which 
transforms the specified PUT into another one(PUT) by preBatchMutate(). The 
origin PUT will be skipped after transforming. The observer is working for the 
Table#put, nevertheless it fails for the Table#mutateRow.
Although I don't call the Table#mutateRow for the observer,  I'm not sure that 
the inconsistent behavior of preBatchMutate() (and other cp hooks) is good.

> Calls to ObserverContext#bypass in HRegion#processRowsWithLocks are 
> inconsistent
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-16933
>                 URL: https://issues.apache.org/jira/browse/HBASE-16933
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ChiaPing Tsai
>            Priority: Minor
>         Attachments: HBASE-16933.v0.patch
>
>
> The scenario is similar to 
> [HBASE-15417|https://issues.apache.org/jira/browse/HBASE-15417].
> The MultiRowMutationProcessor has the incorrect usage of bypassed mutations.
> This patch makes some incompatible change shown below.
> # If any mutation is bypassed, all mutations will be bypassed. Because the 
> RowMutations is an atomic operation.
> # No CP post-hook will be called if the all mutations are bypassed. For 
> example, postPut, postDelete, and postBatchMutate



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

Reply via email to