You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2016/06/09 17:26:25 UTC
hbase git commit: HBASE-15990 The priority value of subsequent
coprocessors in the Coprocessor.Priority.SYSTEM list are not incremented by
one (ChiaPing Tsai)
Repository: hbase
Updated Branches:
refs/heads/master 9012a0b12 -> 55a04b781
HBASE-15990 The priority value of subsequent coprocessors in the Coprocessor.Priority.SYSTEM list are not incremented by one (ChiaPing Tsai)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/55a04b78
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/55a04b78
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/55a04b78
Branch: refs/heads/master
Commit: 55a04b78102a3a919c6e2e86fcdf98dd1d9a24e4
Parents: 9012a0b
Author: tedyu <yu...@gmail.com>
Authored: Thu Jun 9 10:26:10 2016 -0700
Committer: Ted <yu...@gmail.com>
Committed: Thu Jun 9 10:26:10 2016 -0700
----------------------------------------------------------------------
.../hbase/coprocessor/CoprocessorHost.java | 5 ++--
.../hbase/coprocessor/TestCoprocessorHost.java | 26 ++++++++++++++------
2 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/55a04b78/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 da0e8b1..e937569 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
@@ -158,9 +158,10 @@ public abstract class CoprocessorHost<E extends CoprocessorEnvironment> {
implClass = cl.loadClass(className);
// Add coprocessors as we go to guard against case where a coprocessor is specified twice
// in the configuration
- this.coprocessors.add(loadInstance(implClass, Coprocessor.PRIORITY_SYSTEM, conf));
+ this.coprocessors.add(loadInstance(implClass, priority, conf));
LOG.info("System coprocessor " + className + " was loaded " +
- "successfully with priority (" + priority++ + ").");
+ "successfully with priority (" + priority + ").");
+ ++priority;
} catch (Throwable t) {
// We always abort if system coprocessors cannot be loaded
abortServer(className, t);
http://git-wip-us.apache.org/repos/asf/hbase/blob/55a04b78/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 58cd0fb..66b5c60 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
@@ -29,6 +29,8 @@ import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -51,9 +53,8 @@ public class TestCoprocessorHost {
return this.aborted;
}
}
-
@Test
- public void testDoubleLoading() {
+ public void testDoubleLoadingAndPriorityValue() {
final Configuration conf = HBaseConfiguration.create();
CoprocessorHost<CoprocessorEnvironment> host =
new CoprocessorHost<CoprocessorEnvironment>(new TestAbortable()) {
@@ -61,7 +62,7 @@ public class TestCoprocessorHost {
@Override
public CoprocessorEnvironment createEnvironment(Class<?> implClass,
- final Coprocessor instance, int priority, int sequence, Configuration conf) {
+ final Coprocessor instance, final int priority, int sequence, Configuration conf) {
return new CoprocessorEnvironment() {
final Coprocessor envInstance = instance;
@@ -82,7 +83,7 @@ public class TestCoprocessorHost {
@Override
public int getPriority() {
- return 0;
+ return priority;
}
@Override
@@ -114,10 +115,19 @@ public class TestCoprocessorHost {
};
final String key = "KEY";
final String coprocessor = "org.apache.hadoop.hbase.coprocessor.SimpleRegionObserver";
- // Try and load coprocessor three times.
- conf.setStrings(key, coprocessor, coprocessor, coprocessor);
+ // Try and load a coprocessor three times
+ conf.setStrings(key, coprocessor, coprocessor, coprocessor, SimpleRegionObserverV2.class.getName());
host.loadSystemCoprocessors(conf, key);
- // Only one coprocessor loaded
- Assert.assertEquals(1, host.coprocessors.size());
+ // Two coprocessors(SimpleRegionObserver and SimpleRegionObserverV2) loaded
+ Assert.assertEquals(2, host.coprocessors.size());
+ // Check the priority value
+ CoprocessorEnvironment simpleEnv = host.findCoprocessorEnvironment(SimpleRegionObserver.class.getName());
+ CoprocessorEnvironment simpleEnv_v2 = host.findCoprocessorEnvironment(SimpleRegionObserverV2.class.getName());
+ assertNotNull(simpleEnv);
+ assertNotNull(simpleEnv_v2);
+ assertEquals(Coprocessor.PRIORITY_SYSTEM, simpleEnv.getPriority());
+ assertEquals(Coprocessor.PRIORITY_SYSTEM + 1, simpleEnv_v2.getPriority());
+ }
+ public static class SimpleRegionObserverV2 extends SimpleRegionObserver {
}
}
\ No newline at end of file