[ https://issues.apache.org/jira/browse/HBASE-15071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15085064#comment-15085064 ]
Heng Chen commented on HBASE-15071: ----------------------------------- {quote} Interrupts could work as long as they're not thrown back to the client. The notion of bypass is actions on the server in core code should be skipped with control handed back to the client as a normal return. {quote} Currently, if operations have no return value (e.g. createNamespace/modifyNamespace etc.), we use the bypass returned to skip actions and exit silently without any notifications to client. I don't think it is a good way, even an exception to client will make our user more clearly what happens after his request, right? > 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)