hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12972) Region, a supportable public/evolving subset of HRegion
Date Fri, 20 Mar 2015 02:16:40 GMT

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

View raw message