org.apache.hbase
hbase-common
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/Abortable.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/Abortable.java
similarity index 82%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/Abortable.java
rename to hbase-common/src/main/java/org/apache/hadoop/hbase/Abortable.java
index 8233071bc3f..52e9c691c9e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/Abortable.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/Abortable.java
@@ -1,6 +1,5 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
@@ -23,10 +22,8 @@ import org.apache.yetus.audience.InterfaceAudience;
/**
* Interface to support the aborting of a given server or client.
*
- * This is used primarily for ZooKeeper usage when we could get an unexpected
- * and fatal exception, requiring an abort.
- *
- * Implemented by the Master, RegionServer, and TableServers (client).
+ * This is used primarily when we could get an unexpected and fatal exception; abort is called to
+ * exit the hosting process.
*/
@InterfaceAudience.Private
public interface Abortable {
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
similarity index 93%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
rename to hbase-common/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
index 509844e367d..ae9f2ad805b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
@@ -1,5 +1,4 @@
-/**
- *
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -21,8 +20,7 @@ package org.apache.hadoop.hbase;
import org.apache.yetus.audience.InterfaceAudience;
/**
- * Subclass if exception is not meant to be retried: e.g.
- * {@link org.apache.hadoop.hbase.UnknownScannerException}
+ * Subclass if exception is not meant to be retried.
*/
@InterfaceAudience.Public
public class DoNotRetryIOException extends HBaseIOException {
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/SortedList.java
similarity index 100%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java
rename to hbase-common/src/main/java/org/apache/hadoop/hbase/util/SortedList.java
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestSortedList.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestSortedList.java
similarity index 100%
rename from hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestSortedList.java
rename to hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestSortedList.java
diff --git a/hbase-coprocessor/pom.xml b/hbase-coprocessor/pom.xml
new file mode 100644
index 00000000000..0bcfcef25d4
--- /dev/null
+++ b/hbase-coprocessor/pom.xml
@@ -0,0 +1,102 @@
+
+
+
+ 4.0.0
+
+ hbase-build-configuration
+ org.apache.hbase
+ 2.5.0-SNAPSHOT
+ ../hbase-build-configuration
+
+
+ hbase-coprocessor
+ Apache HBase - Coprocessor
+ Base Coprocessor Types
+
+
+
+
+ src/test/resources
+
+ log4j.properties
+
+
+
+
+
+
+ maven-assembly-plugin
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+ net.revelc.code
+ warbucks-maven-plugin
+
+
+
+
+
+
+ org.apache.hbase
+ hbase-annotations
+ test-jar
+ test
+
+
+ org.slf4j
+ slf4j-api
+
+
+ junit
+ junit
+ test
+
+
+ org.slf4j
+ slf4j-log4j12
+ test
+
+
+ log4j
+ log4j
+ provided
+
+
+ org.apache.hbase
+ hbase-common
+
+
+ org.apache.hbase
+ hbase-common
+ test-jar
+ test
+
+
+
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
similarity index 96%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
index c0d9b603a8a..ea6ad93e485 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
@@ -18,11 +18,9 @@
*/
package org.apache.hadoop.hbase;
-
+import com.google.protobuf.Service;
import java.io.IOException;
import java.util.Collections;
-
-import com.google.protobuf.Service;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.yetus.audience.InterfaceStability;
@@ -97,8 +95,8 @@ public interface Coprocessor {
/**
* Coprocessor endpoints providing protobuf services should override this method.
- * @return Iterable of {@link Service}s or empty collection. Implementations should never
- * return null.
+ * @return Iterable of {@link Service}s or empty collection; implementations should not return
+ * null.
*/
default Iterable getServices() {
return Collections.EMPTY_SET;
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
similarity index 100%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
similarity index 95%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
index 2818dcd675f..2e66a18315e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
@@ -1,5 +1,4 @@
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -19,6 +18,7 @@
package org.apache.hadoop.hbase.coprocessor;
+import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Coprocessor;
import org.apache.hadoop.hbase.CoprocessorEnvironment;
@@ -27,8 +27,6 @@ import org.apache.yetus.audience.InterfaceAudience;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-
/**
* Encapsulation of the environment of each coprocessor
*/
@@ -37,21 +35,21 @@ public class BaseEnvironment implements CoprocessorEnviro
private static final Logger LOG = LoggerFactory.getLogger(BaseEnvironment.class);
/** The coprocessor */
- public C impl;
+ protected final C impl;
/** Chaining priority */
protected int priority = Coprocessor.PRIORITY_USER;
/** Current coprocessor state */
Coprocessor.State state = Coprocessor.State.UNINSTALLED;
- private int seq;
- private Configuration conf;
- private ClassLoader classLoader;
+ private final int seq;
+ private final Configuration conf;
+ private final ClassLoader classLoader;
/**
* Constructor
* @param impl the coprocessor instance
* @param priority chaining priority
*/
- public BaseEnvironment(final C impl, final int priority, final int seq, final Configuration conf) {
+ public BaseEnvironment(C impl, final int priority, int seq, Configuration conf) {
this.impl = impl;
this.classLoader = impl.getClass().getClassLoader();
this.priority = priority;
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
similarity index 95%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
index 44250763005..676a053db0d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
@@ -31,10 +31,6 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
-
-import org.apache.yetus.audience.InterfaceAudience;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Abortable;
@@ -42,17 +38,18 @@ import org.apache.hadoop.hbase.Coprocessor;
import org.apache.hadoop.hbase.CoprocessorEnvironment;
import org.apache.hadoop.hbase.DoNotRetryIOException;
import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.ipc.RpcServer;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.util.CoprocessorClassLoader;
import org.apache.hadoop.hbase.util.SortedList;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Provides the common setup framework and runtime services for coprocessor
* invocation from HBase services.
* @param type of specific coprocessor this host will handle
* @param type of specific coprocessor environment this host requires.
- * provides
*/
@InterfaceAudience.Private
public abstract class CoprocessorHost> {
@@ -100,8 +97,7 @@ public abstract class CoprocessorHost coprocessorNames =
- Collections.synchronizedSet(new HashSet());
+ private static final Set coprocessorNames = Collections.synchronizedSet(new HashSet<>());
public static Set getLoadedCoprocessors() {
synchronized (coprocessorNames) {
@@ -139,8 +135,9 @@ public abstract class CoprocessorHost> legacyWarning =
- new ConcurrentSkipListSet<>(
- new Comparator>() {
- @Override
- public int compare(Class extends Coprocessor> c1, Class extends Coprocessor> c2) {
- if (c1.equals(c2)) {
- return 0;
- }
- return c1.getName().compareTo(c2.getName());
- }
- });
+ new ConcurrentSkipListSet<>(new Comparator>() {
+ @Override
+ public int compare(Class extends Coprocessor> c1, Class extends Coprocessor> c2) {
+ return c1.equals(c2) ? 0 : c1.getName().compareTo(c2.getName());
+ }
+ }
+ );
/**
* Implementations defined function to get an observer of type {@code O} from a coprocessor of
@@ -518,7 +505,8 @@ public abstract class CoprocessorHost observerGetter, User user, boolean bypassable) {
- super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);
+ // Used to get user from RpcServer if null -- removed.
+ super(user, bypassable);
this.observerGetter = observerGetter;
}
@@ -546,7 +534,7 @@ public abstract class CoprocessorHosttrue if
- * ObserverOperation#isBypassable().
+ * ObserverOperation#isBypassable()).
*/
protected boolean execOperation(final ObserverOperation observerOperation)
throws IOException {
@@ -657,11 +645,12 @@ public abstract class CoprocessorHostHBASE-16663
* @return true if bypaas coprocessor execution, false if not.
- * @throws IOException
*/
protected boolean execShutdown(final ObserverOperation observerOperation)
throws IOException {
- if (observerOperation == null) return false;
+ if (observerOperation == null) {
+ return false;
+ }
boolean bypass = false;
List envs = coprocEnvironments.get();
// Iterate the coprocessors and execute ObserverOperation's call()
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
similarity index 99%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
index 0eb5e156b7b..948e754b5eb 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
@@ -1,5 +1,4 @@
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -19,7 +18,6 @@
package org.apache.hadoop.hbase.coprocessor;
import org.apache.yetus.audience.InterfaceAudience;
-
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java
similarity index 92%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java
index c756926fb21..c66c5b31009 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java
@@ -17,20 +17,18 @@
*/
package org.apache.hadoop.hbase.coprocessor;
+import java.util.Optional;
import org.apache.hadoop.hbase.CoprocessorEnvironment;
import org.apache.hadoop.hbase.HBaseInterfaceAudience;
import org.apache.hadoop.hbase.security.User;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.yetus.audience.InterfaceStability;
-import java.util.Optional;
-
/**
- * Carries the execution state for a given invocation of an Observer coprocessor
- * ({@link RegionObserver}, {@link MasterObserver}, or {@link WALObserver})
- * method. The same ObserverContext instance is passed sequentially to all loaded
- * coprocessors for a given Observer method trigger, with the
- * CoprocessorEnvironment
reference set appropriately for each Coprocessor type:
+ * Carries the execution state for a given invocation of an Observer coprocessor method. The same
+ * ObserverContext instance is passed sequentially to all loaded coprocessors for a given Observer
+ * method trigger, with the CoprocessorEnvironment
reference set appropriately for each
+ * Coprocessor type:
* e.g. the RegionCoprocessorEnvironment is passed to RegionCoprocessors, and so on.
* @param The {@link CoprocessorEnvironment} subclass applicable to the
* revelant Observer interface.
@@ -69,7 +67,6 @@ public interface ObserverContext {
*/
void bypass();
-
/**
* Returns the active user for the coprocessor call. If an explicit {@code User} instance was
* provided to the constructor, that will be returned, otherwise if we are in the context of an
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java
similarity index 74%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java
index b5370db9a9d..043e9a5fd05 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java
@@ -19,7 +19,6 @@ package org.apache.hadoop.hbase.coprocessor;
import java.util.Optional;
import org.apache.hadoop.hbase.CoprocessorEnvironment;
-import org.apache.hadoop.hbase.ipc.RpcServer;
import org.apache.hadoop.hbase.security.User;
import org.apache.yetus.audience.InterfaceAudience;
@@ -42,6 +41,9 @@ public class ObserverContextImpl implements Ob
}
public ObserverContextImpl(User caller, boolean bypassable) {
+ // Used to do RpcServer.getRequestUser().orElse(null) if null but removed so no dependence on
+ // RPCServer.
+ assert caller != null;
this.caller = caller;
this.bypassable = bypassable;
}
@@ -87,19 +89,5 @@ public class ObserverContextImpl implements Ob
return Optional.ofNullable(caller);
}
- /**
- * Instantiates a new ObserverContext instance if the passed reference is null
and
- * sets the environment in the new or existing instance. This allows deferring the instantiation
- * of a ObserverContext until it is actually needed.
- * @param The environment type for the context
- * @param env The coprocessor environment to set
- * @return An instance of ObserverContext
with the environment set
- */
- @Deprecated
- // TODO: Remove this method, ObserverContext should not depend on RpcServer
- public static ObserverContext createAndPrepare(E env) {
- ObserverContextImpl ctx = new ObserverContextImpl<>(RpcServer.getRequestUser().orElse(null));
- ctx.prepare(env);
- return ctx;
- }
+
}
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java
similarity index 99%
rename from hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java
rename to hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java
index b805c50e153..485cd98a97a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java
+++ b/hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java
@@ -34,7 +34,6 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
-
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.yetus.audience.InterfaceAudience;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.java b/hbase-coprocessor/src/test/java/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.java
similarity index 86%
rename from hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.java
rename to hbase-coprocessor/src/test/java/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.java
index a91c505f175..3056c68d3e6 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.java
+++ b/hbase-coprocessor/src/test/java/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -22,25 +22,20 @@ import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.junit.ClassRule;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
@Category({ RegionServerTests.class, SmallTests.class })
public class TestReadOnlyConfiguration {
-
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestReadOnlyConfiguration.class);
+ HBaseClassTestRule.forClass(TestReadOnlyConfiguration.class);
- @Rule
- public TestName name = new TestName();
-
- @Test
+ @Test (expected = UnsupportedOperationException.class)
public void testAddDefaultResource() {
Configuration configuration = new Configuration();
Configuration readOnlyConf = new ReadOnlyConfiguration(configuration);
- configuration.addDefaultResource("abc.xml");
+ readOnlyConf.addDefaultResource("abc.xml");
+ readOnlyConf.setInt("any.old.config", 1);
}
}
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java
similarity index 100%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java
rename to hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.java
similarity index 100%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.java
rename to hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.java
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java
similarity index 100%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java
rename to hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java
similarity index 100%
rename from hbase-client/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java
rename to hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java
diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index 48a9fbcd36e..93051e0745f 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -256,6 +256,10 @@
org.apache.hbase
hbase-common
+