hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9426) Make custom distributed barrier procedure pluggable
Date Sat, 07 Sep 2013 01:08:53 GMT

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

Hadoop QA commented on HBASE-9426:

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:red}-1 tests included{color}.  The patch doesn't appear to include any new or modified
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    {color:green}+1 hadoop1.0{color}.  The patch compiles against the hadoop 1.0 profile.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 2.0 profile.

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any warning messages.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 findbugs{color}.  The patch does not introduce any new Findbugs (version
1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:green}+1 lineLengths{color}.  The patch does not introduce lines longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7078//console

This message is automatically generated.
> Make custom distributed barrier procedure pluggable 
> ----------------------------------------------------
>                 Key: HBASE-9426
>                 URL: https://issues.apache.org/jira/browse/HBASE-9426
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.95.2, 0.94.11
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>         Attachments: HBASE-9426.patch.1
> Currently if one wants to implement a custom distributed barrier procedure (e.g., distributed
log roll or distributed table flush), the HBase core code needs to be modified in order for
the procedure to work.
> Looking into the snapshot code (especially on region server side), most of the code to
enable the procedure are generic life-cycle management (i.e., init, start, stop). We can make
this part pluggable.
> Here is the proposal. Following the coprocessor example, we define two properties:
> {code}
> hbase.procedure.regionserver.classes
> hbase.procedure.master.classes
> {code}
> The values for both are comma delimited list of classes. On region server side, the classes
implements the following interface:
> {code}
> public interface RegionServerProcedureManager {
>   public void initialize(RegionServerServices rss) throws KeeperException;
>   public void start();
>   public void stop(boolean force) throws IOException;
>   public String getProcedureName();
> }
> {code}
> While on Master side, the classes implement the interface:
> {code}
> public interface MasterProcedureManager {
>   public void initialize(MasterServices master) throws KeeperException, IOException,
>   public void stop(String why);
>   public String getProcedureName();
>   public void execProcedure(ProcedureDescription desc) throws IOException;
>   IOException;
> }
> {code}
> Where the ProcedureDescription is defined as
> {code}
> message ProcedureDescription {
>   required string name = 1;
>   required string instance = 2;
>   optional int64 creationTime = 3 [default = 0];
>   message Property {
>     required string tag = 1;
>     optional string value = 2;
>   }
>   repeated Property props = 4;
> }
> {code}
> A generic API can be defined on HMaster to trigger a procedure:
> {code}
> public boolean execProcedure(ProcedureDescription desc) throws IOException;
> {code}
> _SnapshotManager_ and _RegionServerSnapshotManager_ are special examples of _MasterProcedureManager_
and _RegionServerProcedureManager_. They will be automatically included (users don't need
to specify them in the conf file).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message