Repository: hbase
Updated Branches:
  refs/heads/master dd2c60b5b -> d16f349a6


HBASE-13645: Rename *column methods in MasterObserver to *columnFamily

Signed-off-by: stack <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d16f349a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d16f349a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d16f349a

Branch: refs/heads/master
Commit: d16f349a63ead7d67957564ffba37196af03a9d8
Parents: dd2c60b
Author: Lars Francke <[email protected]>
Authored: Sat May 9 01:14:55 2015 +0200
Committer: stack <[email protected]>
Committed: Thu May 21 10:11:56 2015 -0700

----------------------------------------------------------------------
 .../BaseMasterAndRegionObserver.java            | 102 ++++++-
 .../hbase/coprocessor/BaseMasterObserver.java   | 102 ++++++-
 .../hbase/coprocessor/MasterObserver.java       | 282 +++++++++++++++++--
 .../hbase/master/MasterCoprocessorHost.java     |  63 +++--
 .../hbase/security/access/AccessController.java |  30 +-
 .../visibility/VisibilityController.java        |  13 +-
 .../hbase/coprocessor/TestMasterObserver.java   | 139 +++++++--
 .../hbase/master/TestTableLockManager.java      |  20 +-
 .../security/access/TestAccessController.java   |   6 +-
 .../access/TestWithDisabledAuthorization.java   |  12 +-
 10 files changed, 630 insertions(+), 139 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/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 85abbf8..8cf5954 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
@@ -178,70 +178,148 @@ public abstract class BaseMasterAndRegionObserver 
extends BaseRegionObserver
       List<NamespaceDescriptor> descriptors) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void preAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void postAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Override
+  public void 
postAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void preAddColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor column) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void preAddColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void postAddColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor column) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void postAddColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Override
+  public void 
preModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void postModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void 
postModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preModifyColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor descriptor) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Override
+  public void preModifyColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void postModifyColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor descriptor) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void postModifyColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, byte[] c) throws IOException {
+      TableName tableName, byte[] columnFamily) throws IOException {
   }
 
   @Override
+  public void 
preDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, byte[] columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, byte[] c) throws IOException {
+      TableName tableName, byte[] columnFamily) throws IOException {
   }
 
   @Override
+  public void 
postDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, byte[] columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preDeleteColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      byte[] c) throws IOException {
+      byte[] columnFamily) throws IOException {
+  }
+
+  @Override
+  public void preDeleteColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      byte[] columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void postDeleteColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      byte[] c) throws IOException {
+      byte[] columnFamily) throws IOException {
+  }
+
+  @Override
+  public void postDeleteColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      byte[] columnFamily) throws IOException {
   }
 
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/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 de1645e..23a098c 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
@@ -171,70 +171,148 @@ public class BaseMasterObserver implements 
MasterObserver {
       List<NamespaceDescriptor> descriptors) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void preAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void postAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Override
+  public void 
postAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void preAddColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor column) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void preAddColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void postAddColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor column) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void postAddColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Override
+  public void 
preModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void postModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException {
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void 
postModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preModifyColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor descriptor) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Override
+  public void preModifyColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void postModifyColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      HColumnDescriptor descriptor) throws IOException {
+      HColumnDescriptor columnFamily) throws IOException {
   }
 
   @Override
+  public void postModifyColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      HColumnDescriptor columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, byte[] c) throws IOException {
+      TableName tableName, byte[] columnFamily) throws IOException {
   }
 
   @Override
+  public void 
preDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, byte[] columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, byte[] c) throws IOException {
+      TableName tableName, byte[] columnFamily) throws IOException {
   }
 
   @Override
+  public void 
postDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, byte[] columnFamily) throws IOException {
+  }
+
+  @Deprecated
+  @Override
   public void preDeleteColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      byte[] c) throws IOException {
+      byte[] columnFamily) throws IOException {
+  }
+
+  @Override
+  public void preDeleteColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      byte[] columnFamily) throws IOException {
   }
 
+  @Deprecated
   @Override
   public void postDeleteColumnHandler(
       ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-      byte[] c) throws IOException {
+      byte[] columnFamily) throws IOException {
+  }
+
+  @Override
+  public void postDeleteColumnFamilyHandler(
+      ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+      byte[] columnFamily) throws IOException {
   }
 
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
index ab9f709..3246d96 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
@@ -231,127 +231,361 @@ public interface MasterObserver extends Coprocessor {
    * add column RPC call.
    * @param ctx the environment to interact with the framework and master
    * @param tableName the name of the table
-   * @param column the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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
   void preAddColumn(final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called prior to adding a new column family to the table.  Called as part 
of
+   * add column RPC call.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #preAddColumn(ObserverContext, TableName, HColumnDescriptor)} 
method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void preAddColumnFamily(final ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+      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 column the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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
   void postAddColumn(final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called after the new column family has been created.  Called as part of
+   * add column RPC call.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #postAddColumn(ObserverContext, TableName, HColumnDescriptor)} 
method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void postAddColumnFamily(final ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+      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 column the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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 #preAddColumnFamilyHandler(ObserverContext, TableName, 
HColumnDescriptor)}.
    */
+  @Deprecated
   void preAddColumnHandler(
       final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called prior to adding a new column family to the table.  Called as part 
of
+   * add column handler.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #preAddColumnHandler(ObserverContext, TableName, 
HColumnDescriptor)} method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void preAddColumnFamilyHandler(
+      final ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, 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 column the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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 #postAddColumnFamilyHandler(ObserverContext, 
TableName, HColumnDescriptor)}.
    */
+  @Deprecated
   void postAddColumnHandler(
       final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor column) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called after the new column family has been created.  Called as part of
+   * add column handler.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #postAddColumnHandler(ObserverContext, TableName, 
HColumnDescriptor)} method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void postAddColumnFamilyHandler(
+      final ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, 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 descriptor the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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
   void preModifyColumn(final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called prior to modifying a column family's attributes.  Called as part of
+   * modify column RPC call.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #preModifyColumn(ObserverContext, TableName, HColumnDescriptor)} 
method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void preModifyColumnFamily(final 
ObserverContext<MasterCoprocessorEnvironment> ctx,
+      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 descriptor the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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
   void postModifyColumn(final ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called after the column family has been updated.  Called as part of modify
+   * column RPC call.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #postModifyColumn(ObserverContext, TableName, HColumnDescriptor)} 
method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void postModifyColumnFamily(final 
ObserverContext<MasterCoprocessorEnvironment> ctx,
+      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 descriptor the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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 #preModifyColumnFamilyHandler(ObserverContext, 
TableName, HColumnDescriptor)}.
    */
+  @Deprecated
   void preModifyColumnHandler(
       final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
+
+  /**
+   * Called prior to modifying a column family's attributes.  Called as part of
+   * modify column handler.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #preModifyColumnHandler(ObserverContext, TableName, 
HColumnDescriptor)} method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void preModifyColumnFamilyHandler(
+      final ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, 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 descriptor the HColumnDescriptor
+   * @param columnFamily the HColumnDescriptor
+   * @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 #postModifyColumnFamilyHandler(ObserverContext, 
TableName, HColumnDescriptor)}.
    */
+  @Deprecated
   void postModifyColumnHandler(
       final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException;
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException;
 
+  /**
+   * Called after the column family has been updated.  Called as part of modify
+   * column handler.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #postModifyColumnHandler(ObserverContext, TableName, 
HColumnDescriptor)} method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the HColumnDescriptor
+   */
+  void postModifyColumnFamilyHandler(
+      final ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, 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 c the column
+   * @param columnFamily the column family
+   * @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
   void preDeleteColumn(final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      final TableName tableName, final byte[] c) throws IOException;
+      final TableName tableName, final byte[] columnFamily) throws IOException;
+
+  /**
+   * Called prior to deleting the entire column family.  Called as part of
+   * delete column RPC call.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #preDeleteColumn(ObserverContext, TableName, byte[])} method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the column
+   */
+  void preDeleteColumnFamily(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 RPC call.
    * @param ctx the environment to interact with the framework and master
    * @param tableName the name of the table
-   * @param c the column
+   * @param columnFamily the column family
+   * @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
   void postDeleteColumn(final ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      final TableName tableName, final byte[] c) throws IOException;
+      final TableName tableName, final byte[] columnFamily) throws IOException;
+
+  /**
+   * Called after the column family has been deleted.  Called as part of delete
+   * column RPC call.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #postDeleteColumn(ObserverContext, TableName, byte[])} method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the column family
+   */
+  void postDeleteColumnFamily(final 
ObserverContext<MasterCoprocessorEnvironment> ctx,
+      final TableName tableName, final 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 c the column
+   * @param columnFamily the column family
+   * @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 #preDeleteColumnFamilyHandler(ObserverContext, 
TableName, byte[])}.
    */
+  @Deprecated
   void preDeleteColumnHandler(
       final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      final TableName tableName, final byte[] c) throws IOException;
+      final TableName tableName, final byte[] columnFamily) throws IOException;
+
+  /**
+   * Called prior to deleting the entire column family.  Called as part of
+   * delete column handler.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #preDeleteColumnHandler(ObserverContext, TableName, byte[])} 
method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the column family
+   */
+  void preDeleteColumnFamilyHandler(
+      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 c the column
+   * @param columnFamily the column family
+   * @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 #postDeleteColumnFamilyHandler(ObserverContext, 
TableName, byte[])}.
    */
+  @Deprecated
   void postDeleteColumnHandler(
       final ObserverContext<MasterCoprocessorEnvironment> ctx,
-      final TableName tableName, final byte[] c) throws IOException;
+      final TableName tableName, final byte[] columnFamily) throws IOException;
+
+  /**
+   * Called after the column family has been deleted.  Called as part of
+   * delete column handler.
+   *
+   * Implementation note: This replaces the deprecated
+   * {@link #postDeleteColumnHandler(ObserverContext, TableName, byte[])} 
method.
+   * Make sure to implement only one of the two as both are called.
+   *
+   * @param ctx the environment to interact with the framework and master
+   * @param tableName the name of the table
+   * @param columnFamily the column family
+   */
+  void postDeleteColumnFamilyHandler(
+      final ObserverContext<MasterCoprocessorEnvironment> ctx,
+      final TableName tableName, final byte[] columnFamily) throws IOException;
 
   /**
    * Called prior to enabling a table.  Called as part of enable table RPC 
call.

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
index 9f003ec..6c6b272 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
@@ -374,132 +374,147 @@ public class MasterCoprocessorHost
     });
   }
 
-  public boolean preAddColumn(final TableName tableName, final 
HColumnDescriptor column)
+  public boolean preAddColumn(final TableName tableName, final 
HColumnDescriptor columnFamily)
       throws IOException {
     return execOperation(coprocessors.isEmpty() ? null : new 
CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.preAddColumn(ctx, tableName, column);
+        oserver.preAddColumn(ctx, tableName, columnFamily);
+        oserver.preAddColumnFamily(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public void postAddColumn(final TableName tableName, final HColumnDescriptor 
column)
+  public void postAddColumn(final TableName tableName, final HColumnDescriptor 
columnFamily)
       throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.postAddColumn(ctx, tableName, column);
+        oserver.postAddColumn(ctx, tableName, columnFamily);
+        oserver.postAddColumnFamily(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public boolean preAddColumnHandler(final TableName tableName, final 
HColumnDescriptor column)
+  public boolean preAddColumnHandler(final TableName tableName,
+                                     final HColumnDescriptor columnFamily)
       throws IOException {
     return execOperation(coprocessors.isEmpty() ? null : new 
CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.preAddColumnHandler(ctx, tableName, column);
+        oserver.preAddColumnHandler(ctx, tableName, columnFamily);
+        oserver.preAddColumnFamilyHandler(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public void postAddColumnHandler(final TableName tableName, final 
HColumnDescriptor column)
+  public void postAddColumnHandler(final TableName tableName, final 
HColumnDescriptor columnFamily)
       throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.postAddColumnHandler(ctx, tableName, column);
+        oserver.postAddColumnHandler(ctx, tableName, columnFamily);
+        oserver.postAddColumnFamilyHandler(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public boolean preModifyColumn(final TableName tableName, final 
HColumnDescriptor descriptor)
+  public boolean preModifyColumn(final TableName tableName, final 
HColumnDescriptor columnFamily)
       throws IOException {
     return execOperation(coprocessors.isEmpty() ? null : new 
CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.preModifyColumn(ctx, tableName, descriptor);
+        oserver.preModifyColumn(ctx, tableName, columnFamily);
+        oserver.preModifyColumnFamily(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public void postModifyColumn(final TableName tableName, final 
HColumnDescriptor descriptor)
+  public void postModifyColumn(final TableName tableName, final 
HColumnDescriptor columnFamily)
       throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.postModifyColumn(ctx, tableName, descriptor);
+        oserver.postModifyColumn(ctx, tableName, columnFamily);
+        oserver.postModifyColumnFamily(ctx, tableName, columnFamily);
       }
     });
   }
 
   public boolean preModifyColumnHandler(final TableName tableName,
-      final HColumnDescriptor descriptor) throws IOException {
+      final HColumnDescriptor columnFamily) throws IOException {
     return execOperation(coprocessors.isEmpty() ? null : new 
CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.preModifyColumnHandler(ctx, tableName, descriptor);
+        oserver.preModifyColumnHandler(ctx, tableName, columnFamily);
+        oserver.preModifyColumnFamilyHandler(ctx, tableName, columnFamily);
       }
     });
   }
 
   public void postModifyColumnHandler(final TableName tableName,
-      final HColumnDescriptor descriptor) throws IOException {
+      final HColumnDescriptor columnFamily) throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.postModifyColumnHandler(ctx, tableName, descriptor);
+        oserver.postModifyColumnHandler(ctx, tableName, columnFamily);
+        oserver.postModifyColumnFamilyHandler(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public boolean preDeleteColumn(final TableName tableName, final byte [] c) 
throws IOException {
+  public boolean preDeleteColumn(final TableName tableName, final byte[] 
columnFamily)
+      throws IOException {
     return execOperation(coprocessors.isEmpty() ? null : new 
CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.preDeleteColumn(ctx, tableName, c);
+        oserver.preDeleteColumn(ctx, tableName, columnFamily);
+        oserver.preDeleteColumnFamily(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public void postDeleteColumn(final TableName tableName, final byte [] c) 
throws IOException {
+  public void postDeleteColumn(final TableName tableName, final byte[] 
columnFamily)
+      throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.postDeleteColumn(ctx, tableName, c);
+        oserver.postDeleteColumn(ctx, tableName, columnFamily);
+        oserver.postDeleteColumnFamily(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public boolean preDeleteColumnHandler(final TableName tableName, final 
byte[] c)
+  public boolean preDeleteColumnHandler(final TableName tableName, final 
byte[] columnFamily)
       throws IOException {
     return execOperation(coprocessors.isEmpty() ? null : new 
CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.preDeleteColumnHandler(ctx, tableName, c);
+        oserver.preDeleteColumnHandler(ctx, tableName, columnFamily);
+        oserver.preDeleteColumnFamilyHandler(ctx, tableName, columnFamily);
       }
     });
   }
 
-  public void postDeleteColumnHandler(final TableName tableName, final byte[] 
c)
+  public void postDeleteColumnHandler(final TableName tableName, final byte[] 
columnFamily)
       throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, 
ObserverContext<MasterCoprocessorEnvironment> ctx)
           throws IOException {
-        oserver.postDeleteColumnHandler(ctx, tableName, c);
+        oserver.postDeleteColumnHandler(ctx, tableName, columnFamily);
+        oserver.postDeleteColumnFamilyHandler(ctx, tableName, columnFamily);
       }
     });
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
index b364de4..c09959a 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
@@ -1119,33 +1119,35 @@ public class AccessController extends 
BaseMasterAndRegionObserver
   }
 
   @Override
-  public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> c, 
TableName tableName,
-      HColumnDescriptor column) throws IOException {
-    requireTablePermission("addColumn", tableName, column.getName(), null, 
Action.ADMIN,
-        Action.CREATE);
+  public void preAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+                                 TableName tableName, HColumnDescriptor 
columnFamily)
+      throws IOException {
+    requireTablePermission("addColumn", tableName, columnFamily.getName(), 
null, Action.ADMIN,
+                           Action.CREATE);
   }
 
   @Override
-  public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> c, 
TableName tableName,
-      HColumnDescriptor descriptor) throws IOException {
-    requirePermission("modifyColumn", tableName, descriptor.getName(), null, 
Action.ADMIN,
+  public void 
preModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+                                    TableName tableName, HColumnDescriptor 
columnFamily)
+      throws IOException {
+    requirePermission("modifyColumn", tableName, columnFamily.getName(), null, 
Action.ADMIN,
       Action.CREATE);
   }
 
   @Override
-  public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> c, 
TableName tableName,
-      byte[] col) throws IOException {
-    requirePermission("deleteColumn", tableName, col, null, Action.ADMIN, 
Action.CREATE);
+  public void 
preDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+                                    TableName tableName, byte[] columnFamily) 
throws IOException {
+    requirePermission("deleteColumn", tableName, columnFamily, null, 
Action.ADMIN, Action.CREATE);
   }
 
   @Override
-  public void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> c,
-      final TableName tableName, final byte[] col) throws IOException {
-    final Configuration conf = c.getEnvironment().getConfiguration();
+  public void 
postDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      final TableName tableName, final byte[] columnFamily) throws IOException 
{
+    final Configuration conf = ctx.getEnvironment().getConfiguration();
     User.runAsLoginUser(new PrivilegedExceptionAction<Void>() {
       @Override
       public Void run() throws Exception {
-        AccessControlLists.removeTablePermissions(conf, tableName, col);
+        AccessControlLists.removeTablePermissions(conf, tableName, 
columnFamily);
         return null;
       }
     });

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
index 871678f..9fb76fc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
@@ -219,8 +219,9 @@ public class VisibilityController extends 
BaseMasterAndRegionObserver implements
   }
 
   @Override
-  public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx, 
TableName tableName,
-      HColumnDescriptor column) throws IOException {
+  public void preAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+                                 TableName tableName, HColumnDescriptor 
columnFamily)
+      throws IOException {
     if (!authorizationEnabled) {
       return;
     }
@@ -230,8 +231,8 @@ public class VisibilityController extends 
BaseMasterAndRegionObserver implements
   }
 
   @Override
-  public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, HColumnDescriptor descriptor) throws IOException {
+  public void 
preModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, HColumnDescriptor columnFamily) throws IOException {
     if (!authorizationEnabled) {
       return;
     }
@@ -241,8 +242,8 @@ public class VisibilityController extends 
BaseMasterAndRegionObserver implements
   }
 
   @Override
-  public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
-      TableName tableName, byte[] c) throws IOException {
+  public void 
preDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+      TableName tableName, byte[] columnFamily) throws IOException {
     if (!authorizationEnabled) {
       return;
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
index 45f46e1..1f95a53 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
@@ -445,21 +445,35 @@ public class TestMasterObserver {
       return preListNamespaceDescriptorsCalled && 
!postListNamespaceDescriptorsCalled;
     }
 
+    @Deprecated
     @Override
-    public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> env,
-        TableName tableName, HColumnDescriptor column) throws IOException {
+    public void preAddColumn(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily
+    ) throws IOException {
+    }
+
+    @Override
+    public void 
preAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily
+    ) throws IOException {
       if (bypass) {
-        env.bypass();
+        ctx.bypass();
       }else{
-        env.shouldBypass();
+        ctx.shouldBypass();
       }
 
       preAddColumnCalled = true;
     }
 
+    @Deprecated
+    @Override
+    public void postAddColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
+    }
+
     @Override
-    public void postAddColumn(ObserverContext<MasterCoprocessorEnvironment> 
env,
-        TableName tableName, HColumnDescriptor column) throws IOException {
+    public void 
postAddColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
       postAddColumnCalled = true;
     }
 
@@ -471,18 +485,30 @@ public class TestMasterObserver {
       return preAddColumnCalled && !postAddColumnCalled;
     }
 
+    @Deprecated
     @Override
-    public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
env,
-        TableName tableName, HColumnDescriptor descriptor) throws IOException {
+    public void preModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
+    }
+
+    @Override
+    public void 
preModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
       if (bypass) {
-        env.bypass();
+        ctx.bypass();
       }
       preModifyColumnCalled = true;
     }
 
+    @Deprecated
+    @Override
+    public void postModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
+    }
+
     @Override
-    public void postModifyColumn(ObserverContext<MasterCoprocessorEnvironment> 
env,
-        TableName tableName, HColumnDescriptor descriptor) throws IOException {
+    public void 
postModifyColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
       postModifyColumnCalled = true;
     }
 
@@ -494,21 +520,34 @@ public class TestMasterObserver {
       return preModifyColumnCalled && !postModifyColumnCalled;
     }
 
+    @Deprecated
     @Override
-    public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
env,
-        TableName tableName, byte[] c) throws IOException {
+    public void preDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+        TableName tableName, byte[] columnFamily) throws IOException {
+    }
+
+    @Override
+    public void 
preDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, byte[] columnFamily) throws IOException {
       if (bypass) {
-        env.bypass();
+        ctx.bypass();
       }
       preDeleteColumnCalled = true;
     }
 
+    @Deprecated
+    @Override
+    public void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
ctx,
+        TableName tableName, byte[] columnFamily) throws IOException {
+    }
+
     @Override
-    public void postDeleteColumn(ObserverContext<MasterCoprocessorEnvironment> 
env,
-        TableName tableName, byte[] c) throws IOException {
+    public void 
postDeleteColumnFamily(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, byte[] columnFamily) throws IOException {
       postDeleteColumnCalled = true;
     }
 
+
     public boolean wasDeleteColumnCalled() {
       return preDeleteColumnCalled && postDeleteColumnCalled;
     }
@@ -938,22 +977,37 @@ public class TestMasterObserver {
       return preModifyColumnHandlerCalled && !postModifyColumnHandlerCalled;
     }
 
+    @Deprecated
     @Override
     public void preAddColumnHandler(
-        ObserverContext<MasterCoprocessorEnvironment> env, TableName tableName,
-        HColumnDescriptor column) throws IOException {
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        HColumnDescriptor columnFamily) throws IOException {
+    }
+
+    @Override
+    public void preAddColumnFamilyHandler(
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        HColumnDescriptor columnFamily) throws IOException {
       if (bypass) {
-        env.bypass();
+        ctx.bypass();
       }
       preAddColumnHandlerCalled = true;
     }
 
+    @Deprecated
     @Override
     public void postAddColumnHandler(
         ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-        HColumnDescriptor column) throws IOException {
+        HColumnDescriptor columnFamily) throws IOException {
+    }
+
+    @Override
+    public void postAddColumnFamilyHandler(
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        HColumnDescriptor columnFamily) throws IOException {
       postAddColumnHandlerCalled = true;
     }
+
     public boolean wasAddColumnHandlerCalled() {
       return preAddColumnHandlerCalled && postAddColumnHandlerCalled;
     }
@@ -962,20 +1016,34 @@ public class TestMasterObserver {
       return preAddColumnHandlerCalled && !postAddColumnHandlerCalled;
     }
 
+    @Deprecated
     @Override
     public void preModifyColumnHandler(
-        ObserverContext<MasterCoprocessorEnvironment> env, TableName tableName,
-        HColumnDescriptor descriptor) throws IOException {
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        HColumnDescriptor columnFamily) throws IOException {
+    }
+
+    @Override
+    public void preModifyColumnFamilyHandler(
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        HColumnDescriptor columnFamily) throws IOException {
       if (bypass) {
-        env.bypass();
+        ctx.bypass();
       }
       preModifyColumnHandlerCalled = true;
     }
 
+    @Deprecated
     @Override
     public void postModifyColumnHandler(
         ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-        HColumnDescriptor descriptor) throws IOException {
+        HColumnDescriptor columnFamily) throws IOException {
+    }
+
+    @Override
+    public void postModifyColumnFamilyHandler(
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        HColumnDescriptor columnFamily) throws IOException {
       postModifyColumnHandlerCalled = true;
     }
 
@@ -986,20 +1054,35 @@ public class TestMasterObserver {
     public boolean preModifyColumnHandlerCalledOnly() {
       return preModifyColumnHandlerCalled && !postModifyColumnHandlerCalled;
     }
+
+    @Deprecated
     @Override
     public void preDeleteColumnHandler(
-        ObserverContext<MasterCoprocessorEnvironment> env, TableName tableName,
-        byte[] c) throws IOException {
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        byte[] columnFamily) throws IOException {
+    }
+
+    @Override
+    public void preDeleteColumnFamilyHandler(
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        byte[] columnFamily) throws IOException {
       if (bypass) {
-        env.bypass();
+        ctx.bypass();
       }
       preDeleteColumnHandlerCalled = true;
     }
 
+    @Deprecated
     @Override
     public void postDeleteColumnHandler(
         ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
-        byte[] c) throws IOException {
+        byte[] columnFamily) throws IOException {
+    }
+
+    @Override
+    public void postDeleteColumnFamilyHandler(
+        ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName,
+        byte[] columnFamily) throws IOException {
       postDeleteColumnHandlerCalled = true;
     }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestTableLockManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestTableLockManager.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestTableLockManager.java
index 2de1d44..d815e7b 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestTableLockManager.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestTableLockManager.java
@@ -105,19 +105,19 @@ public class TestTableLockManager {
 
   public static class TestLockTimeoutExceptionMasterObserver extends 
BaseMasterObserver {
     @Override
-    public void 
preDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
-        TableName tableName, byte[] c) throws IOException {
+    public void 
preDeleteColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, byte[] columnFamily) throws IOException {
       deleteColumn.countDown();
     }
     @Override
-    public void 
postDeleteColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
-        TableName tableName, byte[] c) throws IOException {
+    public void 
postDeleteColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, byte[] columnFamily) throws IOException {
       Threads.sleep(10000);
     }
 
     @Override
-    public void 
preAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
-        TableName tableName, HColumnDescriptor column) throws IOException {
+    public void 
preAddColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
       fail("Add column should have timeouted out for acquiring the table 
lock");
     }
   }
@@ -170,15 +170,15 @@ public class TestTableLockManager {
 
   public static class TestAlterAndDisableMasterObserver extends 
BaseMasterObserver {
     @Override
-    public void 
preAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
-        TableName tableName, HColumnDescriptor column) throws IOException {
+    public void 
preAddColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
       LOG.debug("addColumn called");
       addColumn.countDown();
     }
 
     @Override
-    public void 
postAddColumnHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
-        TableName tableName, HColumnDescriptor column) throws IOException {
+    public void 
postAddColumnFamilyHandler(ObserverContext<MasterCoprocessorEnvironment> ctx,
+        TableName tableName, HColumnDescriptor columnFamily) throws 
IOException {
       Threads.sleep(6000);
       try {
         
ctx.getEnvironment().getMasterServices().checkTableModifiable(tableName);

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
index 11b9006..65ca0be 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
@@ -370,7 +370,7 @@ public class TestAccessController extends SecureTestUtil {
     AccessTestAction action = new AccessTestAction() {
       @Override
       public Object run() throws Exception {
-        
ACCESS_CONTROLLER.preAddColumn(ObserverContext.createAndPrepare(CP_ENV, null), 
TEST_TABLE.getTableName(),
+        
ACCESS_CONTROLLER.preAddColumnFamily(ObserverContext.createAndPrepare(CP_ENV, 
null), TEST_TABLE.getTableName(),
           hcd);
         return null;
       }
@@ -387,7 +387,7 @@ public class TestAccessController extends SecureTestUtil {
     AccessTestAction action = new AccessTestAction() {
       @Override
       public Object run() throws Exception {
-        
ACCESS_CONTROLLER.preModifyColumn(ObserverContext.createAndPrepare(CP_ENV, 
null),
+        
ACCESS_CONTROLLER.preModifyColumnFamily(ObserverContext.createAndPrepare(CP_ENV,
 null),
           TEST_TABLE.getTableName(), hcd);
         return null;
       }
@@ -402,7 +402,7 @@ public class TestAccessController extends SecureTestUtil {
     AccessTestAction action = new AccessTestAction() {
       @Override
       public Object run() throws Exception {
-        
ACCESS_CONTROLLER.preDeleteColumn(ObserverContext.createAndPrepare(CP_ENV, 
null),
+        
ACCESS_CONTROLLER.preDeleteColumnFamily(ObserverContext.createAndPrepare(CP_ENV,
 null),
           TEST_TABLE.getTableName(), TEST_FAMILY);
         return null;
       }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d16f349a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
index 7c2cb28..bd8cf64 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
@@ -522,33 +522,33 @@ public class TestWithDisabledAuthorization extends 
SecureTestUtil {
       }
     }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, 
USER_QUAL, USER_NONE);
 
-    // preAddColumn
+    // preAddColumnFamily
     verifyAllowed(new AccessTestAction() {
       @Override
       public Object run() throws Exception {
         HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);
-        
ACCESS_CONTROLLER.preAddColumn(ObserverContext.createAndPrepare(CP_ENV, null),
+        
ACCESS_CONTROLLER.preAddColumnFamily(ObserverContext.createAndPrepare(CP_ENV, 
null),
           TEST_TABLE.getTableName(), hcd);
         return null;
       }
     }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, 
USER_QUAL, USER_NONE);
 
-    // preModifyColumn
+    // preModifyColumnFamily
     verifyAllowed(new AccessTestAction() {
       @Override
       public Object run() throws Exception {
         HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);
-        
ACCESS_CONTROLLER.preModifyColumn(ObserverContext.createAndPrepare(CP_ENV, 
null),
+        
ACCESS_CONTROLLER.preModifyColumnFamily(ObserverContext.createAndPrepare(CP_ENV,
 null),
           TEST_TABLE.getTableName(), hcd);
         return null;
       }
     }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, 
USER_QUAL, USER_NONE);
 
-    // preDeleteColumn
+    // preDeleteColumnFamily
     verifyAllowed(new AccessTestAction() {
       @Override
       public Object run() throws Exception {
-        
ACCESS_CONTROLLER.preDeleteColumn(ObserverContext.createAndPrepare(CP_ENV, 
null),
+        
ACCESS_CONTROLLER.preDeleteColumnFamily(ObserverContext.createAndPrepare(CP_ENV,
 null),
           TEST_TABLE.getTableName(), TEST_FAMILY2);
         return null;
       }

Reply via email to