From 7d704874423fbb387ef3251db220d5d2455e343d Mon Sep 17 00:00:00 2001 From: anoopsamjohn Date: Wed, 15 Nov 2017 14:49:42 +0530 Subject: [PATCH] HBASE-19235 CoprocessorEnvironment should be exposed to CPs. --- .../hadoop/hbase/CoprocessorEnvironment.java | 15 ++---- .../hbase/coprocessor/BaseEnvironment.java | 2 - .../hbase/coprocessor/CoprocessorHost.java | 6 ++- .../coprocessor/TestCoprocessorHost.java | 51 ++----------------- .../token/TestTokenAuthentication.java | 6 --- 5 files changed, 10 insertions(+), 70 deletions(-) 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 4022b4b6f30..418d6247eb3 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 { /** @return the Coprocessor interface version */ @@ -52,13 +52,4 @@ public interface CoprocessorEnvironment { * @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(); } 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 32cef9e3210..ebbca65784a 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 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 implements CoprocessorEnviro } /** Clean up the environment */ - @Override public void shutdown() { if (state == Coprocessor.State.ACTIVE) { state = Coprocessor.State.STOPPING; 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 18210d6c13e..61c71cb8f93 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) 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) e).shutdown(); } /** 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 f7b8c4b9883..33a488ff174 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 createEnvironment( + final RegionCoprocessor instance, final int priority, int sequence, Configuration conf) { + return new BaseEnvironment(instance, priority, 0, cpHostConf); } }; final String key = "KEY"; 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 f116b3074bd..5a0b6bdb3c4 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 @@ -278,12 +278,6 @@ public class TestTokenAuthentication { return null; } - @Override - public void startup() throws IOException {} - - @Override - public void shutdown() {} - @Override public ConcurrentMap getSharedData() { return null; }