HBASE-15575 Rename table DDL *Handler methods in MasterObserver to more meaningful names (Stephen Yuan Jiang)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b7ce55f0 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b7ce55f0 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b7ce55f0 Branch: refs/heads/hbase-12439 Commit: b7ce55f001015613273a4d7eed1d9e1afa92184a Parents: 8b0ce77 Author: Stephen Yuan Jiang <[email protected]> Authored: Thu May 5 11:44:22 2016 -0700 Committer: Stephen Yuan Jiang <[email protected]> Committed: Thu May 5 11:44:22 2016 -0700 ---------------------------------------------------------------------- .../hbase/rsgroup/RSGroupAdminEndpoint.java | 136 +++++- .../BaseMasterAndRegionObserver.java | 129 +++++- .../hbase/coprocessor/BaseMasterObserver.java | 429 ++++++++++++++++-- .../hbase/coprocessor/MasterObserver.java | 450 ++++++++++++++++--- .../org/apache/hadoop/hbase/master/HMaster.java | 2 +- .../hbase/master/MasterCoprocessorHost.java | 73 +-- .../master/handler/DisableTableHandler.java | 4 +- .../master/handler/EnableTableHandler.java | 4 +- .../procedure/AddColumnFamilyProcedure.java | 4 +- .../procedure/CloneSnapshotProcedure.java | 4 +- .../master/procedure/CreateTableProcedure.java | 4 +- .../procedure/DeleteColumnFamilyProcedure.java | 4 +- .../master/procedure/DeleteTableProcedure.java | 4 +- .../master/procedure/DisableTableProcedure.java | 4 +- .../master/procedure/EnableTableProcedure.java | 4 +- .../procedure/ModifyColumnFamilyProcedure.java | 4 +- .../master/procedure/ModifyTableProcedure.java | 4 +- .../procedure/TruncateTableProcedure.java | 4 +- .../hbase/security/access/AccessController.java | 6 +- .../hbase/coprocessor/TestMasterObserver.java | 367 +++++++++------ .../hbase/master/TestTableLockManager.java | 12 +- .../master/handler/TestEnableTableHandler.java | 14 +- .../hbase/namespace/TestNamespaceAuditor.java | 18 +- .../hbase/security/access/SecureTestUtil.java | 14 +- .../hadoop/hbase/util/BaseTestHBaseFsck.java | 18 +- 25 files changed, 1362 insertions(+), 354 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/b7ce55f0/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java ---------------------------------------------------------------------- diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java index 6bc7508..7172f06 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java @@ -310,6 +310,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService HRegionInfo[] regions) throws IOException { } + @Deprecated @Override public void preCreateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, HTableDescriptor desc, @@ -317,27 +318,56 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override + public void preCreateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final HTableDescriptor desc, + final HRegionInfo[] regions) throws IOException { + } + + @Deprecated + @Override public void postCreateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, HTableDescriptor desc, HRegionInfo[] regions) throws IOException { } @Override + public void postCompletedCreateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final HTableDescriptor desc, + final HRegionInfo[] regions) throws IOException { + } + + @Override public void preDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } + @Deprecated @Override public void preDeleteTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void preDeleteTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + } + + @Deprecated + @Override public void postDeleteTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedDeleteTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + } + + @Override public void preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @@ -347,17 +377,31 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService TableName tableName) throws IOException { } + @Deprecated @Override public void preTruncateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void preTruncateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + } + + @Deprecated + @Override public void postTruncateTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedTruncateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + } + + @Override public void preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { @@ -369,6 +413,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService HTableDescriptor htd) throws IOException { } + @Deprecated @Override public void preModifyTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, @@ -376,12 +421,27 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override + public void preModifyTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HTableDescriptor htd) throws IOException { + } + + @Deprecated + @Override public void postModifyTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } @Override + public void postCompletedModifyTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HTableDescriptor htd) throws IOException { + } + + @Override public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HColumnDescriptor columnFamily) throws IOException { @@ -405,6 +465,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService HColumnDescriptor columnFamily) throws IOException { } + @Deprecated @Override public void preAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, @@ -412,11 +473,13 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override - public void preAddColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, - HColumnDescriptor columnFamily) throws IOException { + public void preAddColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } + @Deprecated @Override public void postAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, @@ -424,9 +487,10 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override - public void postAddColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, - HColumnDescriptor columnFamily) throws IOException { + public void postCompletedAddColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } @Override @@ -453,6 +517,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } + @Deprecated @Override public void preModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HColumnDescriptor columnFamily) throws IOException { @@ -460,12 +525,15 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override - public void preModifyColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, HColumnDescriptor columnFamily) + public void preModifyColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } + @Deprecated @Override public void postModifyColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HColumnDescriptor columnFamily) throws @@ -474,8 +542,10 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override - public void postModifyColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, HColumnDescriptor columnFamily) + public void postCompletedModifyColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } @@ -504,6 +574,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } + @Deprecated @Override public void preDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, byte[] columnFamily) throws IOException { @@ -511,12 +582,15 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override - public void preDeleteColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, byte[] columnFamily) throws + public void preDeleteColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final byte[] columnFamily) throws IOException { } + @Deprecated @Override public void postDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, byte[] columnFamily) throws IOException { @@ -524,8 +598,10 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override - public void postDeleteColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, byte[] columnFamily) throws + public void postCompletedDeleteColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final byte[] columnFamily) throws IOException { } @@ -542,6 +618,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } + @Deprecated @Override public void preEnableTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { @@ -549,12 +626,27 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override + public void preEnableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + + } + + @Deprecated + @Override public void postEnableTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedEnableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + + } + + @Override public void preDisableTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { @@ -566,6 +658,7 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } + @Deprecated @Override public void preDisableTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { @@ -573,12 +666,27 @@ public class RSGroupAdminEndpoint extends RSGroupAdminService } @Override + public void preDisableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + + } + + @Deprecated + @Override public void postDisableTableHandler(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedDisableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName) throws IOException { + + } + + @Override public void preMove(ObserverContext<MasterCoprocessorEnvironment> ctx, HRegionInfo region, ServerName srcServer, ServerName destServer) throws IOException { http://git-wip-us.apache.org/repos/asf/hbase/blob/b7ce55f0/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java index 74d9fe1..5a69708 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java @@ -67,6 +67,7 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver HRegionInfo regionA, HRegionInfo regionB) throws IOException { } + @Deprecated @Override public void preCreateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -74,12 +75,27 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override + public void preCreateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final HTableDescriptor desc, + final HRegionInfo[] regions) throws IOException { + } + + @Deprecated + @Override public void postCreateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, HTableDescriptor desc, HRegionInfo[] regions) throws IOException { } @Override + public void postCompletedCreateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final HTableDescriptor desc, + final HRegionInfo[] regions) throws IOException { + } + + @Override public void preDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @@ -89,6 +105,7 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver TableName tableName) throws IOException { } + @Deprecated @Override public void preDeleteTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -96,12 +113,25 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override + public void preDeleteTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException{ + } + + @Deprecated + @Override public void postDeleteTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedDeleteTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @@ -111,6 +141,7 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver TableName tableName) throws IOException { } + @Deprecated @Override public void preTruncateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -118,22 +149,37 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override + public void preTruncateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Deprecated + @Override public void postTruncateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedTruncateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } + @Deprecated @Override public void postModifyTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } + @Deprecated @Override public void preModifyTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, @@ -141,6 +187,20 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override + public void preModifyTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HTableDescriptor htd) throws IOException { + } + + @Override + public void postCompletedModifyTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HTableDescriptor htd) throws IOException { + } + + @Override public void postModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } @@ -225,9 +285,10 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override - public void preAddColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { + public void preAddColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } @Deprecated @@ -238,9 +299,10 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override - public void postAddColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { + public void postCompletedAddColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } @Deprecated @@ -273,9 +335,10 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override - public void preModifyColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { + public void preModifyColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } @Deprecated @@ -286,9 +349,10 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override - public void postModifyColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { + public void postCompletedModifyColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { } @Deprecated @@ -321,9 +385,10 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override - public void preDeleteColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - byte[] columnFamily) throws IOException { + public void preDeleteColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final byte[] columnFamily) throws IOException { } @Deprecated @@ -334,9 +399,10 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override - public void postDeleteColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - byte[] columnFamily) throws IOException { + public void postCompletedDeleteColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final byte[] columnFamily) throws IOException { } @@ -350,6 +416,7 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver TableName tableName) throws IOException { } + @Deprecated @Override public void preEnableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -357,12 +424,24 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override + public void preEnableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + @Deprecated + @Override public void postEnableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedEnableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preDisableTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @@ -372,6 +451,7 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver TableName tableName) throws IOException { } + @Deprecated @Override public void preDisableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -379,12 +459,25 @@ public class BaseMasterAndRegionObserver extends BaseRegionObserver } @Override + public void preDisableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Deprecated + @Override public void postDisableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedDisableTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preAbortProcedure( ObserverContext<MasterCoprocessorEnvironment> ctx, final ProcedureExecutor<MasterProcedureEnv> procEnv, http://git-wip-us.apache.org/repos/asf/hbase/blob/b7ce55f0/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java index 3574bbd..71dab06 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java @@ -56,6 +56,20 @@ public class BaseMasterObserver implements MasterObserver { HTableDescriptor desc, HRegionInfo[] regions) throws IOException { } + /** + * Called before a new table is created by + * {@link org.apache.hadoop.hbase.master.HMaster}. Called as part of create + * table handler and it is async to the create RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param desc the HTableDescriptor for the table + * @param regions the initial regions created for the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #preCreateTableAction(ObserverContext, HTableDescriptor, HRegionInfo[])}. + */ + @Deprecated @Override public void preCreateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -63,12 +77,39 @@ public class BaseMasterObserver implements MasterObserver { } @Override + public void preCreateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final HTableDescriptor desc, + final HRegionInfo[] regions) throws IOException { + } + + /** + * Called after the createTable operation has been requested. Called as part + * of create table RPC call. Called as part of create table handler and + * it is async to the create RPC call. + * @param ctx the environment to interact with the framework and master + * @param desc the HTableDescriptor for the table + * @param regions the initial regions created for the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #postCompletedCreateTableAction(ObserverContext, HTableDescriptor, HRegionInfo[])} + */ + @Deprecated + @Override public void postCreateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, HTableDescriptor desc, HRegionInfo[] regions) throws IOException { } @Override + public void postCompletedCreateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final HTableDescriptor desc, + final HRegionInfo[] regions) throws IOException { + } + + @Override public void preDispatchMerge(final ObserverContext<MasterCoprocessorEnvironment> ctx, HRegionInfo regionA, HRegionInfo regionB) throws IOException { } @@ -88,6 +129,19 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName) throws IOException { } + /** + * Called before {@link org.apache.hadoop.hbase.master.HMaster} deletes a + * table. Called as part of delete table handler and + * it is async to the delete RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #preDeleteTableAction(ObserverContext, TableName)}. + */ + @Deprecated @Override public void preDeleteTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -95,12 +149,37 @@ public class BaseMasterObserver implements MasterObserver { } @Override + public void preDeleteTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException{ + } + + /** + * Called after {@link org.apache.hadoop.hbase.master.HMaster} deletes a + * table. Called as part of delete table handler and it is async to the + * delete RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #postCompletedDeleteTableAction(ObserverContext, TableName)}. + */ + @Deprecated + @Override public void postDeleteTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedDeleteTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preTruncateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @@ -110,6 +189,19 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName) throws IOException { } + /** + * Called before {@link org.apache.hadoop.hbase.master.HMaster} truncates a + * table. Called as part of truncate table handler and it is sync + * to the truncate RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #preTruncateTableAction(ObserverContext, TableName)}. + */ + @Deprecated @Override public void preTruncateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -117,31 +209,96 @@ public class BaseMasterObserver implements MasterObserver { } @Override + public void preTruncateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + /** + * Called after {@link org.apache.hadoop.hbase.master.HMaster} truncates a + * table. Called as part of truncate table handler and it is sync to the + * truncate RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #postCompletedTruncateTableAction(ObserverContext, TableName)}. + */ + @Deprecated + @Override public void postTruncateTableHandler( final ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedTruncateTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } @Override - public void postModifyTableHandler( + public void postModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, + TableName tableName, HTableDescriptor htd) throws IOException { + } + + /** + * Called prior to modifying a table's properties. Called as part of modify + * table handler and it is async to the modify table RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param htd the HTableDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #preModifyTableAction(ObserverContext, TableName, HTableDescriptor)}. + */ + @Deprecated + @Override + public void preModifyTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } @Override - public void preModifyTableHandler( + public void preModifyTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HTableDescriptor htd) throws IOException { + } + + /** + * Called after to modifying a table's properties. Called as part of modify + * table handler and it is async to the modify table RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param htd the HTableDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #postCompletedModifyTableAction(ObserverContext, TableName, HTableDescriptor)}. + */ + @Deprecated + @Override + public void postModifyTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, HTableDescriptor htd) throws IOException { } @Override - public void postModifyTable(ObserverContext<MasterCoprocessorEnvironment> ctx, - TableName tableName, HTableDescriptor htd) throws IOException { + public void postCompletedModifyTableAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HTableDescriptor htd) throws IOException { } @Override @@ -198,6 +355,17 @@ public class BaseMasterObserver implements MasterObserver { List<NamespaceDescriptor> descriptors) throws IOException { } + /** + * Called prior to adding a new column family to the table. Called as part of + * add column RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #preAddColumnFamily(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -209,6 +377,17 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName, HColumnDescriptor columnFamily) throws IOException { } + /** + * Called after the new column family has been created. Called as part of + * add column RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #postAddColumnFamily(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void postAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -220,6 +399,17 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName, HColumnDescriptor columnFamily) throws IOException { } + /** + * Called prior to adding a new column family to the table. Called as part of + * add column handler. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). Use + * {@link #preAddColumnFamilyAction(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void preAddColumnHandler( @@ -228,11 +418,23 @@ public class BaseMasterObserver implements MasterObserver { } @Override - public void preAddColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { - } - + public void preAddColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { + } + + /** + * Called after the new column family has been created. Called as part of + * add column handler. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). Use + * {@link #postCompletedAddColumnFamilyAction(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void postAddColumnHandler( @@ -241,11 +443,23 @@ public class BaseMasterObserver implements MasterObserver { } @Override - public void postAddColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { - } - + public void postCompletedAddColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { + } + + /** + * Called prior to modifying a column family's attributes. Called as part of + * modify column RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #preModifyColumnFamily(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -257,6 +471,17 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName, HColumnDescriptor columnFamily) throws IOException { } + /** + * Called after the column family has been updated. Called as part of modify + * column RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #postModifyColumnFamily(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void postModifyColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -268,6 +493,17 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName, HColumnDescriptor columnFamily) throws IOException { } + /** + * Called prior to modifying a column family's attributes. Called as part of + * modify column handler. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #preModifyColumnFamilyAction(ObserverContext, TableName, HColumnDescriptor)}. + */ @Deprecated @Override public void preModifyColumnHandler( @@ -276,11 +512,23 @@ public class BaseMasterObserver implements MasterObserver { } @Override - public void preModifyColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { - } - + public void preModifyColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { + } + + /** + * Called after the column family has been updated. Called as part of modify + * column handler. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the HColumnDescriptor + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). Use + * {@link #postCompletedModifyColumnFamilyAction(ObserverContext,TableName,HColumnDescriptor)}. + */ @Deprecated @Override public void postModifyColumnHandler( @@ -289,11 +537,23 @@ public class BaseMasterObserver implements MasterObserver { } @Override - public void postModifyColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - HColumnDescriptor columnFamily) throws IOException { - } - + public void postCompletedModifyColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final HColumnDescriptor columnFamily) throws IOException { + } + + /** + * Called prior to deleting the entire column family. Called as part of + * delete column RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the column family + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #preDeleteColumnFamily(ObserverContext, TableName, byte[])}. + */ @Deprecated @Override public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -305,6 +565,17 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName, byte[] columnFamily) throws IOException { } + /** + * Called after the column family has been deleted. Called as part of delete + * column RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the column family + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #postDeleteColumnFamily(ObserverContext, TableName, byte[])}. + */ @Deprecated @Override public void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, @@ -316,6 +587,17 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName, byte[] columnFamily) throws IOException { } + /** + * Called prior to deleting the entire column family. Called as part of + * delete column handler. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the column family + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #preDeleteColumnFamilyAction(ObserverContext, TableName, byte[])}. + */ @Deprecated @Override public void preDeleteColumnHandler( @@ -324,11 +606,23 @@ public class BaseMasterObserver implements MasterObserver { } @Override - public void preDeleteColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - byte[] columnFamily) throws IOException { - } - + public void preDeleteColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final byte[] columnFamily) throws IOException { + } + + /** + * Called after the column family has been deleted. Called as part of + * delete column handler. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @param columnFamily the column family + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-13645">HBASE-13645</a>). + * Use {@link #postCompletedDeleteColumnFamilyAction(ObserverContext, TableName, byte[])}. + */ @Deprecated @Override public void postDeleteColumnHandler( @@ -337,9 +631,10 @@ public class BaseMasterObserver implements MasterObserver { } @Override - public void postDeleteColumnFamilyHandler( - ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName, - byte[] columnFamily) throws IOException { + public void postCompletedDeleteColumnFamilyAction( + final ObserverContext<MasterCoprocessorEnvironment> ctx, + final TableName tableName, + final byte[] columnFamily) throws IOException { } @@ -353,6 +648,18 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName) throws IOException { } + /** + * Called prior to enabling a table. Called as part of enable table handler + * and it is async to the enable table RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #preEnableTableAction(ObserverContext, TableName)}. + */ + @Deprecated @Override public void preEnableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -360,12 +667,35 @@ public class BaseMasterObserver implements MasterObserver { } @Override + public void preEnableTableAction( + ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + /** + * Called after the enableTable operation has been requested. Called as part + * of enable table handler and it is async to the enable table RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #postCompletedEnableTableAction(ObserverContext, TableName)}. + */ + @Deprecated + @Override public void postEnableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedEnableTableAction( + ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preDisableTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @@ -375,6 +705,18 @@ public class BaseMasterObserver implements MasterObserver { TableName tableName) throws IOException { } + /** + * Called prior to disabling a table. Called as part of disable table handler + * and it is asyn to the disable table RPC call. + * It can't bypass the default action, e.g., ctx.bypass() won't have effect. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #preDisableTableAction(ObserverContext, TableName)}. + */ + @Deprecated @Override public void preDisableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) @@ -382,12 +724,35 @@ public class BaseMasterObserver implements MasterObserver { } @Override + public void preDisableTableAction( + ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + /** + * Called after the disableTable operation has been requested. Called as part + * of disable table handler and it is asyn to the disable table RPC call. + * @param ctx the environment to interact with the framework and master + * @param tableName the name of the table + * @throws IOException if something went wrong + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * (<a href="https://issues.apache.org/jira/browse/HBASE-15575">HBASE-15575</a>). + * Use {@link #postCompletedDisableTableAction(ObserverContext, TableName)}. + */ + @Deprecated + @Override public void postDisableTableHandler( ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { } @Override + public void postCompletedDisableTableAction( + ObserverContext<MasterCoprocessorEnvironment> ctx, final TableName tableName) + throws IOException { + } + + @Override public void preAbortProcedure( ObserverContext<MasterCoprocessorEnvironment> ctx, final ProcedureExecutor<MasterProcedureEnv> procEnv,
