[ 
https://issues.apache.org/jira/browse/HBASE-12972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-12972:
-----------------------------------
    Attachment: HBASE-12972-0.98.patch

Dropping a WIP patch against 0.98.

Reviewboard: https://reviews.apache.org/r/31346/

This change set introduces the Region interface and lifts methods from HRegion 
into it that should be public and available to sophisticated internal users 
like coprocessors, based on examination of bundled coprocessor, RegionServer 
level RPC handling, and unit test code, and Apache Phoenix internals. All 
HRegion methods related to flushing, compaction, and splitting are specifically 
excluded so far. Region is used instead of HRegion in coprocessor APIs such as 
RegionObserver and RegionServerObserver and related APIs like 
RowMutationProcessor and RegionServerServices.

What's next is figuring out what to do about flush and split requests, and 
SplitTransaction.

This is a patch against 0.98 but the changes to branch-1 will be similar, and 
forward porting to master should only have a few modest differences.

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

Reply via email to