[
https://issues.apache.org/jira/browse/HBASE-16933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15683025#comment-15683025
]
ChiaPing Tsai commented on HBASE-16933:
---------------------------------------
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)