hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12972) Region, a supportable public/evolving subset of HRegion
Date Thu, 26 Feb 2015 17:54:07 GMT

    [ https://issues.apache.org/jira/browse/HBASE-12972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14338793#comment-14338793

Andrew Purtell commented on HBASE-12972:

bq. I haven't seen a discussion of how we interpret the "add new feature" part of semver,
so my apologies if I've missed it. My own interpretation is that the addition of an API like
Region qualifies, since a user that built on it wouldn't be able to go back to the 1.0.0 release
without things breaking.

That sucks but is valid. 

However, HRegion is Private. This is enabling something that technically shouldn't have been
done in the first place. 

bq. What if we marked Region LimitedPrivate / Unstable in 1.0.z? 

Then why would someone use it? Region is supposed to be the supportable version of HRegion.
Unstable provides only effectively the same guarantees as inappropriate use of Private interfaces.

We can strongly suggest Phoenix drop its local mutable indexing feature as a mistake until
HBase can support it, in 1.1 or 2.0 or whatever, but I don't think they will go for that.
So, it's likely that use of Private interfaces will continue without having something like
Region in place on the occasion of the port of Phoenix to HBase 1.0. If that's the case then
this work is moot now, we can table it until we are nearing a 1.1 or 2.0 release.

> 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.0.1, 1.1.0, 0.98.11
>         Attachments: HBASE-12972-0.98.patch, HBASE-12972-0.98.patch, HBASE-12972-0.98.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