[ https://issues.apache.org/jira/browse/HBASE-15071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15084959#comment-15084959 ]
Heng Chen commented on HBASE-15071: ----------------------------------- {quote} A bunch of methods in MasterCoprocessorHost on the 'pre' step allow returning true which indicates the method invocation is not to proceed. {quote} Currently, a lot of methods use this return value to decide whether proceed or not. IMO "exception" is a better way to interrupt the process just like AccessController#preCreateTable etc. And the bypass value should be used( [~mbertozzi] mentioned above ) as comments said. > Cleanup bypass semantic in MasterCoprocessorHost > ------------------------------------------------ > > Key: HBASE-15071 > URL: https://issues.apache.org/jira/browse/HBASE-15071 > Project: HBase > Issue Type: Task > Components: Coprocessors > Affects Versions: 2.0.0 > Reporter: stack > Priority: Blocker > > Lets decide on this one before we release 2.0.0. > A bunch of methods in MasterCoprocessorHost on the 'pre' step allow returning > true which indicates the method invocation is not to proceed. > Not all 'pre' steps do this. Just some. > Seems a little arbitrary. > How we skip out if we are not proceed with the invocation is also a little > arbitrary. > When a deleteColumn call is supposed to skip out, it returns a -1, a > non-procId. If we are to skip a balance call, we log that CP said skip and > then return false to indicate the balancer did not run (why?). Elsewhere we > just exit silently. In createNamespace we used to exit silently but > HBASE-14888 just changed it so we throw a BypassCoprocessorException > instead... > Lets make them all work the same way. > (This issue comes of chat w/ Matteo) -- This message was sent by Atlassian JIRA (v6.3.4#6332)