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