[ https://issues.apache.org/jira/browse/HBASE-12972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14370572#comment-14370572 ]
Sean Busbey commented on HBASE-12972: ------------------------------------- My understanding of the push for branch-1 was as above: to get Phoenix off of internal APIs. Users of the coprocessor APIs should always be aware that they're on difficult terrain. That's the trade off for the advantages of being in our internals. If our compatibility promises don't provide enough of a warning for that, then we should try to do better at education. I'm all for stability in APIs, but it's untenable to keep IA.Private pieces in those parts of the API that are relied on for projects like Phoenix. As a community, we are pretty good at recognizing when something might break downstream folks; but all of that diligence goes out the window when something is labeled IA.Private. I added the utilities for backwards compatible changes to coprocessors that Andrew mentions specifically to avoid impacting Phoenix with the WAL refactoring. It is a very blunt instrument. So long as Phoenix is set to move to the API changes in 1.1, then I agree with Andrew that the maintenance burden of keeping the old API in place isn't worth the benefit. > Region, a supportable public/evolving subset of HRegion > ------------------------------------------------------- > > Key: HBASE-12972 > URL: https://issues.apache.org/jira/browse/HBASE-12972 > Project: HBase > Issue Type: New Feature > Reporter: Andrew Purtell > Assignee: Andrew Purtell > Fix For: 2.0.0, 1.1.0 > > Attachments: HBASE-12972-0.98.patch, HBASE-12972.patch, > HBASE-12972.patch > > > On HBASE-12566, [~lhofhansl] proposed: > {quote} > Maybe we can have a {{Region}} interface that is to {{HRegion}} is what > {{Store}} is to {{HStore}}. Store marked with {{@InterfaceAudience.Private}} > but used in some coprocessor hooks. > {quote} > By example, now coprocessors have to reach into HRegion in order to > participate in row and region locking protocols, this is one area where the > functionality is legitimate for coprocessors but not for users, so an > in-between interface make sense. > In addition we should promote {{Store}}'s interface audience to > LimitedPrivate(COPROC). -- This message was sent by Atlassian JIRA (v6.3.4#6332)