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