You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2014/10/25 03:18:58 UTC

git commit: HBASE-11912 Catch some bad practices at compile time with error-prone

Repository: hbase
Updated Branches:
  refs/heads/master 6c7543c9c -> 7ed0260ef


HBASE-11912 Catch some bad practices at compile time with error-prone


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

Branch: refs/heads/master
Commit: 7ed0260eff425e7e7a57193a67419fae29aa4f30
Parents: 6c7543c
Author: Andrew Purtell <ap...@apache.org>
Authored: Sun Oct 19 16:53:18 2014 -0400
Committer: Andrew Purtell <ap...@apache.org>
Committed: Fri Oct 24 18:15:12 2014 -0700

----------------------------------------------------------------------
 hbase-client/pom.xml                            | 19 +++++++++
 .../org/apache/hadoop/hbase/ClusterStatus.java  | 10 ++---
 .../apache/hadoop/hbase/zookeeper/ZKUtil.java   |  2 +
 hbase-common/pom.xml                            | 33 +++++++++++----
 hbase-examples/pom.xml                          | 33 +++++++++++----
 hbase-hadoop-compat/pom.xml                     | 21 +++++++++-
 hbase-hadoop2-compat/pom.xml                    | 43 ++++++++++++++------
 hbase-it/pom.xml                                | 19 +++++++++
 hbase-prefix-tree/pom.xml                       | 43 ++++++++++++++------
 .../hbase/codec/keyvalue/TestKeyValueTool.java  |  2 +-
 .../prefixtree/row/TestPrefixTreeSearcher.java  |  2 +-
 .../hbase/codec/prefixtree/row/TestRowData.java |  2 +-
 hbase-server/pom.xml                            | 28 +++++++++----
 .../hadoop/hbase/client/HTableWrapper.java      |  2 +
 .../hbase/coprocessor/RegionObserver.java       |  4 ++
 .../hbase/util/hbck/OfflineMetaRepair.java      |  2 +-
 .../org/apache/hadoop/hbase/HBaseTestCase.java  |  5 ++-
 ...TestMasterCoprocessorExceptionWithAbort.java |  2 +-
 .../apache/hadoop/hbase/io/TestHeapSize.java    |  5 ++-
 .../io/hfile/TestScannerSelectionUsingTTL.java  |  3 +-
 .../hadoop/hbase/io/hfile/TestSeekTo.java       |  2 +-
 .../hbase/mapreduce/TestHFileOutputFormat.java  |  2 +-
 .../mapreduce/TestTableSnapshotInputFormat.java | 21 ++++++----
 .../hbase/regionserver/TestStoreFile.java       | 22 +++++-----
 .../apache/hadoop/hbase/util/TestHBaseFsck.java | 10 +----
 .../apache/hadoop/hbase/util/TestMergeTool.java |  5 +--
 .../hadoop/hbase/util/hbck/HbckTestingUtil.java |  2 +-
 hbase-shell/pom.xml                             | 33 +++++++++++----
 hbase-thrift/pom.xml                            | 19 +++++++++
 .../apache/hadoop/hbase/thrift2/HTablePool.java |  3 ++
 pom.xml                                         | 19 ++++++++-
 31 files changed, 315 insertions(+), 103 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-client/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml
index d361e55..5d21ea3 100644
--- a/hbase-client/pom.xml
+++ b/hbase-client/pom.xml
@@ -35,6 +35,25 @@
   <build>
     <plugins>
       <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
         <configuration>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
index f365db3..ca4bf60 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
@@ -379,7 +379,7 @@ public class ClusterStatus extends VersionedWritable {
   public static ClusterStatus convert(ClusterStatusProtos.ClusterStatus proto) {
 
     Map<ServerName, ServerLoad> servers = null;
-    if (proto.getLiveServersList() != null) {
+    if (!proto.getLiveServersList().isEmpty()) {
       servers = new HashMap<ServerName, ServerLoad>(proto.getLiveServersList().size());
       for (LiveServerInfo lsi : proto.getLiveServersList()) {
         servers.put(ProtobufUtil.toServerName(
@@ -388,7 +388,7 @@ public class ClusterStatus extends VersionedWritable {
     }
 
     Collection<ServerName> deadServers = null;
-    if (proto.getDeadServersList() != null) {
+    if (!proto.getDeadServersList().isEmpty()) {
       deadServers = new ArrayList<ServerName>(proto.getDeadServersList().size());
       for (HBaseProtos.ServerName sn : proto.getDeadServersList()) {
         deadServers.add(ProtobufUtil.toServerName(sn));
@@ -396,7 +396,7 @@ public class ClusterStatus extends VersionedWritable {
     }
 
     Collection<ServerName> backupMasters = null;
-    if (proto.getBackupMastersList() != null) {
+    if (!proto.getBackupMastersList().isEmpty()) {
       backupMasters = new ArrayList<ServerName>(proto.getBackupMastersList().size());
       for (HBaseProtos.ServerName sn : proto.getBackupMastersList()) {
         backupMasters.add(ProtobufUtil.toServerName(sn));
@@ -404,7 +404,7 @@ public class ClusterStatus extends VersionedWritable {
     }
 
     Map<String, RegionState> rit = null;
-    if (proto.getRegionsInTransitionList() != null) {
+    if (!proto.getRegionsInTransitionList().isEmpty()) {
       rit = new HashMap<String, RegionState>(proto.getRegionsInTransitionList().size());
       for (RegionInTransition region : proto.getRegionsInTransitionList()) {
         String key = new String(region.getSpec().getValue().toByteArray());
@@ -414,7 +414,7 @@ public class ClusterStatus extends VersionedWritable {
     }
 
     String[] masterCoprocessors = null;
-    if (proto.getMasterCoprocessorsList() != null) {
+    if (!proto.getMasterCoprocessorsList().isEmpty()) {
       final int numMasterCoprocessors = proto.getMasterCoprocessorsCount();
       masterCoprocessors = new String[numMasterCoprocessors];
       for (int i = 0; i < numMasterCoprocessors; i++) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
index 2fd0958..31f273e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
@@ -801,6 +801,7 @@ public class ZKUtil {
    * @throws KeeperException if unexpected zookeeper exception
    * @deprecated Unused
    */
+  @Deprecated
   public static List<NodeAndData> getChildDataAndWatchForNewChildren(
       ZooKeeperWatcher zkw, String baseNode) throws KeeperException {
     List<String> nodes =
@@ -833,6 +834,7 @@ public class ZKUtil {
    * @throws KeeperException.BadVersionException if version mismatch
    * @deprecated Unused
    */
+  @Deprecated
   public static void updateExistingNodeData(ZooKeeperWatcher zkw, String znode,
       byte [] data, int expectedVersion)
   throws KeeperException {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-common/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-common/pom.xml b/hbase-common/pom.xml
index 2c51cd4..8a25cd4 100644
--- a/hbase-common/pom.xml
+++ b/hbase-common/pom.xml
@@ -41,13 +41,32 @@
       </resource>
     </resources>
     <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
       <plugin>
         <!--Make it so assembly:single does nothing in here-->
         <artifactId>maven-assembly-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-examples/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-examples/pom.xml b/hbase-examples/pom.xml
index 52c3163..781f5be 100644
--- a/hbase-examples/pom.xml
+++ b/hbase-examples/pom.xml
@@ -31,13 +31,32 @@
   <description>Examples of HBase usage</description>
   <build>
     <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
       <plugin>
         <!--Make it so assembly:single does nothing in here-->
         <artifactId>maven-assembly-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-hadoop-compat/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/pom.xml b/hbase-hadoop-compat/pom.xml
index ce59c68..a7ad0ab 100644
--- a/hbase-hadoop-compat/pom.xml
+++ b/hbase-hadoop-compat/pom.xml
@@ -35,7 +35,26 @@
     </description>
 
     <build>
-        <plugins>
+      <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-site-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-hadoop2-compat/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/pom.xml b/hbase-hadoop2-compat/pom.xml
index ec0ab21..e845520 100644
--- a/hbase-hadoop2-compat/pom.xml
+++ b/hbase-hadoop2-compat/pom.xml
@@ -34,18 +34,37 @@ limitations under the License.
 
   <build>
     <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
-        <!-- Make a jar and put the sources in the jar -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-source-plugin</artifactId>
-        </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+      <!-- Make a jar and put the sources in the jar -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+      </plugin>
       <plugin>
         <!--Make it so assembly:single does nothing in here-->
         <artifactId>maven-assembly-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-it/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-it/pom.xml b/hbase-it/pom.xml
index f4b6b2e..96aedc9 100644
--- a/hbase-it/pom.xml
+++ b/hbase-it/pom.xml
@@ -117,6 +117,25 @@
     </pluginManagement>
 
     <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
       <!--  Run integration tests with mvn verify -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-prefix-tree/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-prefix-tree/pom.xml b/hbase-prefix-tree/pom.xml
index 2c0dd36..6654806 100644
--- a/hbase-prefix-tree/pom.xml
+++ b/hbase-prefix-tree/pom.xml
@@ -33,18 +33,37 @@
 
   <build>
     <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
-        <!-- Make a jar and put the sources in the jar -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-source-plugin</artifactId>
-        </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+      <!-- Make a jar and put the sources in the jar -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+      </plugin>
       <plugin>
         <!--Make it so assembly:single does nothing in here-->
         <artifactId>maven-assembly-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.java
----------------------------------------------------------------------
diff --git a/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.java b/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.java
index 5bd4494..9e27942 100644
--- a/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.java
+++ b/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.java
@@ -43,7 +43,7 @@ public class TestKeyValueTool {
 
   @Parameters
   public static Collection<Object[]> parameters() {
-    return new TestRowData.InMemory().getAllAsObjectArray();
+    return TestRowData.InMemory.getAllAsObjectArray();
   }
 
   private TestRowData rows;

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestPrefixTreeSearcher.java
----------------------------------------------------------------------
diff --git a/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestPrefixTreeSearcher.java b/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestPrefixTreeSearcher.java
index 20303fa..55d3d22 100644
--- a/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestPrefixTreeSearcher.java
+++ b/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestPrefixTreeSearcher.java
@@ -52,7 +52,7 @@ public class TestPrefixTreeSearcher {
 
   @Parameters
   public static Collection<Object[]> parameters() {
-    return new TestRowData.InMemory().getAllAsObjectArray();
+    return TestRowData.InMemory.getAllAsObjectArray();
   }
 
   protected TestRowData rows;

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestRowData.java
----------------------------------------------------------------------
diff --git a/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestRowData.java b/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestRowData.java
index 2eb897f..4bf60e0 100644
--- a/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestRowData.java
+++ b/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/row/TestRowData.java
@@ -57,7 +57,7 @@ public interface TestRowData {
 
   void individualSearcherAssertions(CellSearcher searcher);
 
-  class InMemory {
+  static class InMemory {
 
     /*
      * The following are different styles of data that the codec may encounter.  Having these small

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index 33883c2..72aadb1 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -53,13 +53,27 @@
       </testResource>
     </testResources>
     <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <!-- We can't check tests with default-testCompile because of generated
+            protobuf code (IncrementCounterProcessorTestProtos) -->
+       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
       <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running
         tests (this is needed for upstream projects whose tests need this jar simply for
         compilation) -->

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java
index afc8a09..660733d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java
@@ -238,6 +238,7 @@ public class HTableWrapper implements HTableInterface {
    * @deprecated If any exception is thrown by one of the actions, there is no way to
    * retrieve the partially executed results. Use {@link #batch(List, Object[])} instead.
    */
+  @Deprecated
   @Override
   public Object[] batch(List<? extends Row> actions)
       throws IOException, InterruptedException {
@@ -257,6 +258,7 @@ public class HTableWrapper implements HTableInterface {
    * {@link #batchCallback(List, Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)}
    * instead.
    */
+  @Deprecated
   @Override
   public <R> Object[] batchCallback(List<? extends Row> actions,
       Batch.Callback<R> callback) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
index 474e398..e526d63 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
@@ -118,6 +118,7 @@ public interface RegionObserver extends Coprocessor {
    * @throws IOException if an error occurred on the coprocessor
    * @deprecated use {@link #preFlush(ObserverContext, Store, InternalScanner)} instead
    */
+  @Deprecated
   void preFlush(final ObserverContext<RegionCoprocessorEnvironment> c) throws IOException;
 
   /**
@@ -138,6 +139,7 @@ public interface RegionObserver extends Coprocessor {
    * @throws IOException if an error occurred on the coprocessor
    * @deprecated use {@link #preFlush(ObserverContext, Store, InternalScanner)} instead.
    */
+  @Deprecated
   void postFlush(final ObserverContext<RegionCoprocessorEnvironment> c) throws IOException;
 
   /**
@@ -339,6 +341,7 @@ public interface RegionObserver extends Coprocessor {
    * @deprecated Use preSplit(
    *    final ObserverContext<RegionCoprocessorEnvironment> c, byte[] splitRow)
    */
+  @Deprecated
   void preSplit(final ObserverContext<RegionCoprocessorEnvironment> c) throws IOException;
 
   /**
@@ -359,6 +362,7 @@ public interface RegionObserver extends Coprocessor {
    * @throws IOException if an error occurred on the coprocessor
    * @deprecated Use postCompleteSplit() instead
    */
+  @Deprecated
   void postSplit(final ObserverContext<RegionCoprocessorEnvironment> c, final HRegion l,
       final HRegion r) throws IOException;
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java
index 1eee2c4..aa54a56 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java
@@ -80,7 +80,7 @@ public class OfflineMetaRepair {
     for (int i = 0; i < args.length; i++) {
       String cmd = args[i];
       if (cmd.equals("-details")) {
-        fsck.setDisplayFullReport();
+        HBaseFsck.setDisplayFullReport();
       } else if (cmd.equals("-base")) {
         if (i == args.length - 1) {
           System.err.println("OfflineMetaRepair: -base needs an HDFS path.");

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
index 18bc731..3756343 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
@@ -52,6 +52,7 @@ import org.apache.hadoop.hdfs.MiniDFSCluster;
  * like an HBaseConfiguration and filesystem.
  * @deprecated Write junit4 unit tests using {@link HBaseTestingUtility}
  */
+@Deprecated
 public abstract class HBaseTestCase extends TestCase {
   private static final Log LOG = LogFactory.getLog(HBaseTestCase.class);
 
@@ -111,12 +112,12 @@ public abstract class HBaseTestCase extends TestCase {
     }
     try {
       if (localfs) {
-        this.testDir = getUnitTestdir(getName());
+        testDir = getUnitTestdir(getName());
         if (fs.exists(testDir)) {
           fs.delete(testDir, true);
         }
       } else {
-        this.testDir = FSUtils.getRootDir(conf);
+        testDir = FSUtils.getRootDir(conf);
       }
     } catch (Exception e) {
       LOG.fatal("error during setup", e);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
index 81db6b4..061068c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
@@ -198,7 +198,7 @@ public class TestMasterCoprocessorExceptionWithAbort {
     // Test (part of the) output that should have be printed by master when it aborts:
     // (namely the part that shows the set of loaded coprocessors).
     // In this test, there is only a single coprocessor (BuggyMasterObserver).
-    assertTrue(master.getLoadedCoprocessors().
+    assertTrue(HMaster.getLoadedCoprocessors().
       contains(TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.class.getName()));
 
     CreateTableThread createTableThread = new CreateTableThread(UTIL);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
index 9672764..de84292 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
@@ -39,6 +39,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;
 import org.apache.hadoop.hbase.io.hfile.LruCachedBlock;
@@ -372,7 +373,7 @@ public class TestHeapSize  {
 
     byte[] row = new byte[] { 0 };
     cl = Put.class;
-    actual = new Put(row).MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
+    actual = Mutation.MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
     expected = ClassSize.estimateBase(cl, false);
     //The actual TreeMap is not included in the above calculation
     expected += ClassSize.align(ClassSize.TREEMAP);
@@ -382,7 +383,7 @@ public class TestHeapSize  {
     }
 
     cl = Delete.class;
-    actual = new Delete(row).MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
+    actual = Mutation.MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
     expected  = ClassSize.estimateBase(cl, false);
     //The actual TreeMap is not included in the above calculation
     expected += ClassSize.align(ClassSize.TREEMAP);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
index e31ebb9..c1a5061 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
@@ -60,8 +60,7 @@ public class TestScannerSelectionUsingTTL {
   private static final Log LOG =
       LogFactory.getLog(TestScannerSelectionUsingTTL.class);
 
-  private static final HBaseTestingUtility TEST_UTIL =
-      new HBaseTestingUtility().createLocalHTU();
+  private static final HBaseTestingUtility TEST_UTIL = HBaseTestingUtility.createLocalHTU();
   private static TableName TABLE = TableName.valueOf("myTable");
   private static String FAMILY = "myCF";
   private static byte[] FAMILY_BYTES = Bytes.toBytes(FAMILY);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
index b7be1bb..63055aa 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
@@ -71,7 +71,7 @@ public class TestSeekTo extends HBaseTestCase {
   }
 
   Path makeNewFile(TagUsage tagUsage) throws IOException {
-    Path ncTFile = new Path(this.testDir, "basic.hfile");
+    Path ncTFile = new Path(testDir, "basic.hfile");
     if (tagUsage != TagUsage.NO_TAG) {
       conf.setInt("hfile.format.version", 3);
     } else {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
index 9bdebe6..bf4eb09 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
@@ -795,7 +795,7 @@ public class TestHFileOutputFormat  {
     HTable table = Mockito.mock(HTable.class);
     HTableDescriptor htd = new HTableDescriptor(TABLE_NAME);
     Mockito.doReturn(htd).when(table).getTableDescriptor();
-    for (HColumnDescriptor hcd: this.util.generateColumnDescriptors()) {
+    for (HColumnDescriptor hcd: HBaseTestingUtility.generateColumnDescriptors()) {
       htd.addFamily(hcd);
     }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java
index 903e0c0..8d7e2d3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java
@@ -77,37 +77,42 @@ public class TestTableSnapshotInputFormat extends TableSnapshotInputFormatTestBa
     Configuration conf = UTIL.getConfiguration();
 
     HDFSBlocksDistribution blockDistribution = new HDFSBlocksDistribution();
-    Assert.assertEquals(Lists.newArrayList(), tsif.getBestLocations(conf, blockDistribution));
+    Assert.assertEquals(Lists.newArrayList(),
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution.addHostsAndBlockWeight(new String[] {"h1"}, 1);
-    Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
+    Assert.assertEquals(Lists.newArrayList("h1"),
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution.addHostsAndBlockWeight(new String[] {"h1"}, 1);
-    Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
+    Assert.assertEquals(Lists.newArrayList("h1"),
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 1);
-    Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
+    Assert.assertEquals(Lists.newArrayList("h1"),
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution = new HDFSBlocksDistribution();
     blockDistribution.addHostsAndBlockWeight(new String[] {"h1"}, 10);
     blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 7);
     blockDistribution.addHostsAndBlockWeight(new String[] {"h3"}, 5);
     blockDistribution.addHostsAndBlockWeight(new String[] {"h4"}, 1);
-    Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
+    Assert.assertEquals(Lists.newArrayList("h1"),
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 2);
     Assert.assertEquals(Lists.newArrayList("h1", "h2"),
-      tsif.getBestLocations(conf, blockDistribution));
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 3);
     Assert.assertEquals(Lists.newArrayList("h2", "h1"),
-      tsif.getBestLocations(conf, blockDistribution));
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
 
     blockDistribution.addHostsAndBlockWeight(new String[] {"h3"}, 6);
     blockDistribution.addHostsAndBlockWeight(new String[] {"h4"}, 9);
 
     Assert.assertEquals(Lists.newArrayList("h2", "h3", "h4", "h1"),
-      tsif.getBestLocations(conf, blockDistribution));
+      TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
   }
 
   public static enum TestTableSnapshotCounters {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
index 04e3516..b81c4f9 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
@@ -97,7 +97,7 @@ public class TestStoreFile extends HBaseTestCase {
     final HRegionInfo hri =
         new HRegionInfo(TableName.valueOf("testBasicHalfMapFileTb"));
     HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
-      conf, fs, new Path(this.testDir, hri.getTable().getNameAsString()), hri);
+      conf, fs, new Path(testDir, hri.getTable().getNameAsString()), hri);
 
     HFileContext meta = new HFileContextBuilder().withBlockSize(2*1024).build();
     StoreFile.Writer writer = new StoreFile.WriterBuilder(conf, cacheConf, this.fs)
@@ -148,7 +148,7 @@ public class TestStoreFile extends HBaseTestCase {
   public void testReference() throws IOException {
     final HRegionInfo hri = new HRegionInfo(TableName.valueOf("testReferenceTb"));
     HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
-      conf, fs, new Path(this.testDir, hri.getTable().getNameAsString()), hri);
+      conf, fs, new Path(testDir, hri.getTable().getNameAsString()), hri);
 
     HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
     // Make a store file and write data to it.
@@ -192,9 +192,9 @@ public class TestStoreFile extends HBaseTestCase {
     final HRegionInfo hri = new HRegionInfo(TableName.valueOf("testHFileLinkTb"));
     // force temp data in hbase/target/test-data instead of /tmp/hbase-xxxx/
     Configuration testConf = new Configuration(this.conf);
-    FSUtils.setRootDir(testConf, this.testDir);
+    FSUtils.setRootDir(testConf, testDir);
     HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
-      testConf, fs, FSUtils.getTableDir(this.testDir, hri.getTable()), hri);
+      testConf, fs, FSUtils.getTableDir(testDir, hri.getTable()), hri);
     HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
 
     // Make a store file and write data to it.
@@ -233,12 +233,12 @@ public class TestStoreFile extends HBaseTestCase {
   public void testReferenceToHFileLink() throws IOException {
     // force temp data in hbase/target/test-data instead of /tmp/hbase-xxxx/
     Configuration testConf = new Configuration(this.conf);
-    FSUtils.setRootDir(testConf, this.testDir);
+    FSUtils.setRootDir(testConf, testDir);
 
     // adding legal table name chars to verify regex handles it.
     HRegionInfo hri = new HRegionInfo(TableName.valueOf("_original-evil-name"));
     HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
-      testConf, fs, FSUtils.getTableDir(this.testDir, hri.getTable()), hri);
+      testConf, fs, FSUtils.getTableDir(testDir, hri.getTable()), hri);
 
     HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
     // Make a store file and write data to it. <root>/<tablename>/<rgn>/<cf>/<file>
@@ -252,7 +252,7 @@ public class TestStoreFile extends HBaseTestCase {
     // create link to store file. <root>/clone/region/<cf>/<hfile>-<region>-<table>
     HRegionInfo hriClone = new HRegionInfo(TableName.valueOf("clone"));
     HRegionFileSystem cloneRegionFs = HRegionFileSystem.createRegionOnFileSystem(
-      testConf, fs, FSUtils.getTableDir(this.testDir, hri.getTable()),
+      testConf, fs, FSUtils.getTableDir(testDir, hri.getTable()),
         hriClone);
     Path dstPath = cloneRegionFs.getStoreDir(TEST_FAMILY);
     HFileLink.create(testConf, this.fs, dstPath, hri, storeFilePath.getName());
@@ -269,7 +269,7 @@ public class TestStoreFile extends HBaseTestCase {
     Path pathB = splitStoreFile(cloneRegionFs, splitHriB, TEST_FAMILY, f, SPLITKEY, false);// bottom
 
     // OK test the thing
-    FSUtils.logFileSystemState(fs, this.testDir, LOG);
+    FSUtils.logFileSystemState(fs, testDir, LOG);
 
     // There is a case where a file with the hfilelink pattern is actually a daughter
     // reference to a hfile link.  This code in StoreFile that handles this case.
@@ -774,7 +774,7 @@ public class TestStoreFile extends HBaseTestCase {
     Scan scan = new Scan();
 
     // Make up a directory hierarchy that has a regiondir ("7e0102") and familyname.
-    Path storedir = new Path(new Path(this.testDir, "7e0102"), "familyname");
+    Path storedir = new Path(new Path(testDir, "7e0102"), "familyname");
     Path dir = new Path(storedir, "1234567890");
     HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
     // Make a store file and write data to it.
@@ -820,7 +820,7 @@ public class TestStoreFile extends HBaseTestCase {
     Configuration conf = this.conf;
 
     // Find a home for our files (regiondir ("7e0102") and familyname).
-    Path baseDir = new Path(new Path(this.testDir, "7e0102"),"twoCOWEOC");
+    Path baseDir = new Path(new Path(testDir, "7e0102"),"twoCOWEOC");
 
     // Grab the block cache and get the initial hit/miss counts
     BlockCache bc = new CacheConfig(conf).getBlockCache();
@@ -990,7 +990,7 @@ public class TestStoreFile extends HBaseTestCase {
    */
   public void testDataBlockEncodingMetaData() throws IOException {
     // Make up a directory hierarchy that has a regiondir ("7e0102") and familyname.
-    Path dir = new Path(new Path(this.testDir, "7e0102"), "familyname");
+    Path dir = new Path(new Path(testDir, "7e0102"), "familyname");
     Path path = new Path(dir, "1234567890");
 
     DataBlockEncoding dataBlockEncoderAlgo =

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
index 2f7051e..21c8a75 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
@@ -155,6 +155,8 @@ public class TestHBaseFsck {
       TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager();
     regionStates = assignmentManager.getRegionStates();
     TEST_UTIL.getHBaseAdmin().setBalancerRunning(false, true);
+
+    HBaseFsck.setDisplayFullReport();
   }
 
   @AfterClass
@@ -966,7 +968,6 @@ public class TestHBaseFsck {
       // fix the problem.
       HBaseFsck fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setFixAssignments(true);
       fsck.setFixMeta(true);
@@ -1558,7 +1559,6 @@ public class TestHBaseFsck {
       // fix lingering split parent
       hbck = new HBaseFsck(conf);
       hbck.connect();
-      hbck.setDisplayFullReport(); // i.e. -details
       hbck.setTimeLag(0);
       hbck.setFixSplitParents(true);
       hbck.onlineHbck();
@@ -1813,7 +1813,6 @@ public class TestHBaseFsck {
       // verify that noHdfsChecking report the same errors
       HBaseFsck fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setCheckHdfs(false);
       fsck.onlineHbck();
@@ -1823,7 +1822,6 @@ public class TestHBaseFsck {
       // verify that fixAssignments works fine with noHdfsChecking
       fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setCheckHdfs(false);
       fsck.setFixAssignments(true);
@@ -1863,7 +1861,6 @@ public class TestHBaseFsck {
       // verify that noHdfsChecking report the same errors
       HBaseFsck fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setCheckHdfs(false);
       fsck.onlineHbck();
@@ -1873,7 +1870,6 @@ public class TestHBaseFsck {
       // verify that fixMeta doesn't work with noHdfsChecking
       fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setCheckHdfs(false);
       fsck.setFixAssignments(true);
@@ -1927,7 +1923,6 @@ public class TestHBaseFsck {
       // verify that noHdfsChecking can't detect ORPHAN_HDFS_REGION
       HBaseFsck fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setCheckHdfs(false);
       fsck.onlineHbck();
@@ -1937,7 +1932,6 @@ public class TestHBaseFsck {
       // verify that fixHdfsHoles doesn't work with noHdfsChecking
       fsck = new HBaseFsck(conf);
       fsck.connect();
-      fsck.setDisplayFullReport(); // i.e. -details
       fsck.setTimeLag(0);
       fsck.setCheckHdfs(false);
       fsck.setFixHdfsHoles(true);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java
index 10d7f0c..8657c06 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java
@@ -147,15 +147,14 @@ public class TestMergeTool extends HBaseTestCase {
     try {
       // Create meta region
       createMetaRegion();
-      new FSTableDescriptors(this.conf, this.fs, this.testDir).createTableDescriptor(
+      new FSTableDescriptors(this.conf, this.fs, testDir).createTableDescriptor(
           new TableDescriptor(this.desc));
       /*
        * Create the regions we will merge
        */
       for (int i = 0; i < sourceRegions.length; i++) {
         regions[i] =
-          HRegion.createHRegion(this.sourceRegions[i], this.testDir, this.conf,
-              this.desc);
+          HRegion.createHRegion(this.sourceRegions[i], testDir, this.conf, this.desc);
         /*
          * Insert data
          */

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java
index 1f6ec70..3b0f459 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java
@@ -50,7 +50,7 @@ public class HbckTestingUtil {
       TableName table) throws Exception {
     HBaseFsck fsck = new HBaseFsck(conf, exec);
     fsck.connect();
-    fsck.setDisplayFullReport(); // i.e. -details
+    HBaseFsck.setDisplayFullReport(); // i.e. -details
     fsck.setTimeLag(0);
     fsck.setFixAssignments(fixAssignments);
     fsck.setFixMeta(fixMeta);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-shell/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-shell/pom.xml b/hbase-shell/pom.xml
index 79ebdca..7572213 100644
--- a/hbase-shell/pom.xml
+++ b/hbase-shell/pom.xml
@@ -50,13 +50,32 @@
       </testResource>
     </testResources>
     <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
       <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running
         tests (this is needed for upstream projects whose tests need this jar simply for
         compilation) -->

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-thrift/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 0815f3a..0f64d00 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -47,6 +47,25 @@
 
     <plugins>
       <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-compile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-testCompile</id>
+            <configuration>
+              <compilerId>javac-with-errorprone</compilerId>
+              <forceJavacCompilerUse>true</forceJavacCompilerUse>
+            </configuration>
+          </execution>
+       </executions>
+      </plugin>
+      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
         <configuration>

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/HTablePool.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/HTablePool.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/HTablePool.java
index 45578c8..400f10f 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/HTablePool.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/HTablePool.java
@@ -235,6 +235,7 @@ public class HTablePool implements Closeable {
    *          the proxy table user got from pool
    * @deprecated
    */
+  @Deprecated
   public void putTable(HTableInterface table) throws IOException {
     // we need to be sure nobody puts a proxy implementation in the pool
     // but if the client code is not updated
@@ -395,6 +396,7 @@ public class HTablePool implements Closeable {
      * @deprecated If any exception is thrown by one of the actions, there is no way to
      * retrieve the partially executed results. Use {@link #batch(List, Object[])} instead.
      */
+    @Deprecated
     @Override
     public Object[] batch(List<? extends Row> actions) throws IOException,
         InterruptedException {
@@ -588,6 +590,7 @@ public class HTablePool implements Closeable {
      * {@link #batchCallback(List, Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)}
      * instead.
      */
+    @Deprecated
     @Override
     public <R> Object[] batchCallback(List<? extends Row> actions,
         Callback<R> callback) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7ed0260e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1b97e38..c4e5b66 100644
--- a/pom.xml
+++ b/pom.xml
@@ -441,7 +441,7 @@
         </plugin>
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>2.5.1</version>
+          <version>3.2</version>
           <configuration>
             <source>${compileSource}</source>
             <target>${compileSource}</target>
@@ -449,6 +449,23 @@
             <showDeprecation>false</showDeprecation>
             <compilerArgument>-Xlint:-options</compilerArgument>
           </configuration>
+          <dependencies>
+           <dependency>
+             <groupId>com.google.errorprone</groupId>
+             <artifactId>error_prone_core</artifactId>
+             <version>1.1.1</version>
+           </dependency>
+           <dependency>
+             <groupId>org.codehaus.plexus</groupId>
+             <artifactId>plexus-compiler-javac</artifactId>
+             <version>2.3</version>
+           </dependency>
+           <dependency>
+             <groupId>org.codehaus.plexus</groupId>
+             <artifactId>plexus-compiler-javac-errorprone</artifactId>
+             <version>2.3</version>
+           </dependency>
+         </dependencies>   
         </plugin>
         <!-- Test oriented plugins -->
         <plugin>