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] [Comment Edited] (HBASE-12972) Region, a supportable public/evolving subset of HRegion
Date Thu, 26 Feb 2015 19:42:08 GMT

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

Andrew Purtell edited comment on HBASE-12972 at 2/26/15 7:42 PM:
-----------------------------------------------------------------

We can definitely split out the SplitTransaction and RegionMergeTransaction changes [~rajeshbabu]
, my only concern there is then the Region interface changes aren't sufficient to remove HRegion
reference/use in Phoenix. 

I don't think we should allow users of the transactions to reach inside and direct what happens
when. On the other hand we could provide APIs for registering callbacks for when different
phases happen, and can take that a step further and allow callbacks to trigger an abort by
throwing an exception. 

As for specifying what region(s) to run a transaction on, can you use the new factories? Create
a factory, call its create() method with the desired regions(s) to get a transaction instance),
and then run it? 


was (Author: apurtell):
We can definitely split out the SplitTransaction and RegionMergeTransaction changes [~rajeshbabu]
, my only concern there is then the Region interface changes aren't sufficient to remove HRegion
reference/use in Phoenix. 

I don't think we should allow users of the transactions to reach inside and direct what happens
when. On the other hand we could provide APIs for registering callbacks for when different
phases happen, and can take that a step further and allow callbacks to trigger an abort by
throwing an exception. 

As for specifying what region(s) to run a transaction on, can you use the new factories? Create
a factory, call its create() method with the desired regions(s), and then run it? 

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

Mime
View raw message