You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by an...@apache.org on 2017/11/15 09:20:08 UTC

hbase git commit: HBASE-19235 CoprocessorEnvironment should be exposed to CPs.

Repository: hbase
Updated Branches:
  refs/heads/master 249bc09d8 -> 7d7048744


HBASE-19235 CoprocessorEnvironment should be exposed to CPs.


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

Branch: refs/heads/master
Commit: 7d704874423fbb387ef3251db220d5d2455e343d
Parents: 249bc09
Author: anoopsamjohn <an...@gmail.com>
Authored: Wed Nov 15 14:49:42 2017 +0530
Committer: anoopsamjohn <an...@gmail.com>
Committed: Wed Nov 15 14:49:42 2017 +0530

----------------------------------------------------------------------
 .../hadoop/hbase/CoprocessorEnvironment.java    | 15 ++----
 .../hbase/coprocessor/BaseEnvironment.java      |  2 -
 .../hbase/coprocessor/CoprocessorHost.java      |  6 ++-
 .../hbase/coprocessor/TestCoprocessorHost.java  | 51 ++------------------
 .../security/token/TestTokenAuthentication.java |  6 ---
 5 files changed, 10 insertions(+), 70 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7d704874/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
index 4022b4b..418d624 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
@@ -19,15 +19,15 @@
 
 package org.apache.hadoop.hbase;
 
-import java.io.IOException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.yetus.audience.InterfaceStability;
 
 /**
  * Coprocessor environment state.
  */
-@InterfaceAudience.Private
+@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
+@InterfaceStability.Evolving
 public interface CoprocessorEnvironment<C extends Coprocessor> {
 
   /** @return the Coprocessor interface version */
@@ -52,13 +52,4 @@ public interface CoprocessorEnvironment<C extends Coprocessor> {
    * @return the classloader for the loaded coprocessor instance
    */
   ClassLoader getClassLoader();
-
-  /**
-   * After a coprocessor has been loaded in an encapsulation of an environment, CoprocessorHost
-   * calls this function to initialize the environment.
-   */
-  void startup() throws IOException;
-
-  /** Clean up the environment. Called by CoprocessorHost when it itself is shutting down. */
-  void shutdown();
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/7d704874/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
index 32cef9e..ebbca65 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
@@ -61,7 +61,6 @@ public class BaseEnvironment<C extends Coprocessor> implements CoprocessorEnviro
   }
 
   /** Initialize the environment */
-  @Override
   public void startup() throws IOException {
     if (state == Coprocessor.State.INSTALLED ||
         state == Coprocessor.State.STOPPED) {
@@ -82,7 +81,6 @@ public class BaseEnvironment<C extends Coprocessor> implements CoprocessorEnviro
   }
 
   /** Clean up the environment */
-  @Override
   public void shutdown() {
     if (state == Coprocessor.State.ACTIVE) {
       state = Coprocessor.State.STOPPING;

http://git-wip-us.apache.org/repos/asf/hbase/blob/7d704874/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
index 18210d6..61c71cb 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
@@ -260,7 +260,8 @@ public abstract class CoprocessorHost<C extends Coprocessor, E extends Coprocess
     }
     // create the environment
     E env = createEnvironment(impl, priority, loadSequence.incrementAndGet(), conf);
-    env.startup();
+    assert env instanceof BaseEnvironment;
+    ((BaseEnvironment<C>) env).startup();
     // HBASE-4014: maintain list of loaded coprocessors for later crash analysis
     // if server (master or regionserver) aborts.
     coprocessorNames.add(implClass.getName());
@@ -283,10 +284,11 @@ public abstract class CoprocessorHost<C extends Coprocessor, E extends Coprocess
       throws InstantiationException, IllegalAccessException;
 
   public void shutdown(E e) {
+    assert e instanceof BaseEnvironment;
     if (LOG.isDebugEnabled()) {
       LOG.debug("Stop coprocessor " + e.getInstance().getClass().getName());
     }
-    e.shutdown();
+    ((BaseEnvironment<C>) e).shutdown();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/7d704874/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorHost.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorHost.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorHost.java
index f7b8c4b..33a488f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorHost.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorHost.java
@@ -17,8 +17,6 @@
  */
 package org.apache.hadoop.hbase.coprocessor;
 
-import java.io.IOException;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
 import org.apache.hadoop.hbase.Coprocessor;
@@ -68,52 +66,9 @@ public class TestCoprocessorHost {
           final Configuration cpHostConf = conf;
 
       @Override
-      public CoprocessorEnvironment createEnvironment(final RegionCoprocessor instance,
-          final int priority, int sequence, Configuration conf) {
-        return new CoprocessorEnvironment() {
-          final Coprocessor envInstance = instance;
-
-          @Override
-          public int getVersion() {
-            return 0;
-          }
-
-          @Override
-          public String getHBaseVersion() {
-            return "0.0.0";
-          }
-
-          @Override
-          public Coprocessor getInstance() {
-            return envInstance;
-          }
-
-          @Override
-          public int getPriority() {
-            return priority;
-          }
-
-          @Override
-          public int getLoadSequence() {
-            return 0;
-          }
-
-          @Override
-          public Configuration getConfiguration() {
-            return cpHostConf;
-          }
-
-          @Override
-          public void startup() throws IOException {}
-
-          @Override
-          public void shutdown() {}
-
-          @Override
-          public ClassLoader getClassLoader() {
-            return null;
-          }
-        };
+      public CoprocessorEnvironment<RegionCoprocessor> createEnvironment(
+          final RegionCoprocessor instance, final int priority, int sequence, Configuration conf) {
+        return new BaseEnvironment<RegionCoprocessor>(instance, priority, 0, cpHostConf);
       }
     };
     final String key = "KEY";

http://git-wip-us.apache.org/repos/asf/hbase/blob/7d704874/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
index f116b30..5a0b6bd 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
@@ -279,12 +279,6 @@ public class TestTokenAuthentication {
         }
 
         @Override
-        public void startup() throws IOException {}
-
-        @Override
-        public void shutdown() {}
-
-        @Override
         public ConcurrentMap<String, Object> getSharedData() { return null; }
 
         @Override