Repository: drill
Updated Branches:
  refs/heads/master b6a387878 -> 54b5f80a5


DRILL-2090: Update HBase storage plugin to support HBase 0.98


Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/54b5f80a
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/54b5f80a
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/54b5f80a

Branch: refs/heads/master
Commit: 54b5f80a546f23c11e0521dcf7e2439cc338030e
Parents: b6a3878
Author: Aditya Kishore <a...@apache.org>
Authored: Tue Jan 27 22:20:19 2015 -0800
Committer: Aditya Kishore <a...@apache.org>
Committed: Wed Jan 28 02:26:29 2015 -0800

----------------------------------------------------------------------
 contrib/storage-hbase/pom.xml                   | 234 +------------------
 .../exec/store/hbase/HBaseFilterBuilder.java    |   4 +-
 .../exec/store/hbase/HBaseRecordReader.java     |  56 ++---
 .../drill/exec/store/hbase/HBaseUtils.java      |  18 +-
 .../exec/store/hbase/TableStatsCalculator.java  |  15 +-
 .../store/hbase/config/HBasePStoreProvider.java |   1 +
 .../org/apache/drill/hbase/HBaseTestsSuite.java |   6 +-
 .../hbase/TestHBaseRegionScanAssignments.java   | 137 +++++------
 distribution/pom.xml                            |   2 +-
 exec/java-exec/pom.xml                          |   4 -
 pom.xml                                         | 121 +++++++---
 11 files changed, 229 insertions(+), 369 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/contrib/storage-hbase/pom.xml b/contrib/storage-hbase/pom.xml
index 7dcf350..e642fcc 100644
--- a/contrib/storage-hbase/pom.xml
+++ b/contrib/storage-hbase/pom.xml
@@ -45,7 +45,7 @@
         <exclusion>
           <artifactId>hadoop-client</artifactId>
           <groupId>org.apache.hadoop</groupId>
-        </exclusion>        
+        </exclusion>
       </exclusions>
     </dependency>
 
@@ -56,21 +56,6 @@
       <classifier>tests</classifier>
       <version>${project.version}</version>
       <scope>test</scope>
-      <!-- here we explicitly exclude hadoop v2.x dependencies
-           because HBase 0.94.x unit tests do not work with hadoop 2
-           test classes, e.g. MiniDFSCluster.
-           This will change once we move to HBase 0.98 or later.
-        -->
-      <exclusions>
-        <exclusion>
-          <artifactId>hadoop-common</artifactId>
-          <groupId>org.apache.hadoop</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>hadoop-client</artifactId>
-          <groupId>org.apache.hadoop</groupId>
-        </exclusion>        
-      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.drill</groupId>
@@ -110,6 +95,7 @@
       </plugin>
     </plugins>
   </build>
+
   <profiles>
     <profile>
       <id>default-hadoop</id>
@@ -121,143 +107,24 @@
       <dependencies>
         <dependency>
           <groupId>org.apache.hbase</groupId>
-          <artifactId>hbase</artifactId>
-          <version>0.94.11</version>
-          <exclusions>
-            <exclusion>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>servlet-api-2.5</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>commons-logging</artifactId>
-              <groupId>commons-logging</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>slf4j-log4j12</artifactId>
-              <groupId>org.slf4j</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>slf4j-log4j12</artifactId>
-              <groupId>org.slf4j</groupId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-core</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-server</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-json</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-client</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>asm</artifactId>
-              <groupId>asm</groupId>
-            </exclusion>
-              <exclusion>
-                <artifactId>libthrift</artifactId>
-                <groupId>org.apache.thrift</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>jruby-complete</artifactId>
-              <groupId>org.jruby</groupId>
-            </exclusion>
-          </exclusions>
-        </dependency>
-        <dependency>
-          <!-- contrary to other Drill modules, this HBase storage module
-               compiles against hadoop 1.x to allow running a mini HBase
-               cluster to run the unit tests.
-               This will change once we move to HBase 0.98 or later.
-            -->
-          <groupId>org.apache.hadoop</groupId>
-          <artifactId>hadoop-core</artifactId>
-          <version>1.2.1</version>
-          <exclusions>
-            <exclusion>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>servlet-api-2.5</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>commons-logging</artifactId>
-              <groupId>commons-logging</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>asm</artifactId>
-              <groupId>asm</groupId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-core</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-json</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-server</artifactId>
-            </exclusion>
-          </exclusions>
+          <artifactId>hbase-client</artifactId>
         </dependency>
+
         <!-- test dependencies -->
         <dependency>
-          <groupId>org.apache.hadoop</groupId>
-          <artifactId>hadoop-test</artifactId>
-          <version>1.2.1</version>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-testing-util</artifactId>
+          <classifier>tests</classifier>
           <scope>test</scope>
-          <exclusions>
-            <exclusion>
-              <artifactId>commons-logging</artifactId>
-              <groupId>commons-logging</groupId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-core</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-json</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-server</artifactId>
-            </exclusion>
-          </exclusions>
         </dependency>
         <dependency>
-          <groupId>org.apache.hbase</groupId>
-          <artifactId>hbase</artifactId>
-          <classifier>tests</classifier>
-          <version>0.94.11</version>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-hdfs</artifactId>
           <scope>test</scope>
-          <exclusions>
-            <exclusion>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>servlet-api-2.5</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>commons-logging</artifactId>
-              <groupId>commons-logging</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>slf4j-log4j12</artifactId>
-              <groupId>org.slf4j</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>asm</artifactId>
-              <groupId>asm</groupId>
-            </exclusion>
-          </exclusions>
         </dependency>
       </dependencies>
     </profile>
+
     <profile>
       <id>mapr</id>
       <properties>
@@ -267,89 +134,12 @@
       <dependencies>
         <dependency>
           <groupId>org.apache.hbase</groupId>
-          <artifactId>hbase</artifactId>
-          <version>0.94.17-mapr-1405-m7-4.0.0-FCS</version>
-          <exclusions>
-            <exclusion>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>servlet-api-2.5</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>commons-logging</artifactId>
-              <groupId>commons-logging</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>slf4j-log4j12</artifactId>
-              <groupId>org.slf4j</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>slf4j-log4j12</artifactId>
-              <groupId>org.slf4j</groupId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-core</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-server</artifactId>
-            </exclusion>
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-json</artifactId>
-            </exclusion>            
-            <exclusion>
-              <groupId>com.sun.jersey</groupId>
-              <artifactId>jersey-client</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>asm</artifactId>
-              <groupId>asm</groupId>
-            </exclusion>
-              <exclusion>
-                <artifactId>libthrift</artifactId>
-                <groupId>org.apache.thrift</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>jruby-complete</artifactId>
-              <groupId>org.jruby</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>hadoop-core</artifactId>
-              <groupId>org.apache</groupId>
-            </exclusion>
-          </exclusions>
-        </dependency>
-        <dependency>
-          <groupId>org.apache.hadoop</groupId>
-          <artifactId>hadoop-test</artifactId>
-          <version>1.0.3-mapr-3.0.2</version>
-          <scope>test</scope>
+          <artifactId>hbase-client</artifactId>
         </dependency>
         <dependency>
           <groupId>org.apache.hbase</groupId>
-          <artifactId>hbase</artifactId>
+          <artifactId>hbase-testing-util</artifactId>
           <classifier>tests</classifier>
-          <version>0.94.13-mapr-1401-m7-3.0.2</version>
-          <scope>test</scope>
-          <exclusions>
-            <exclusion>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>servlet-api-2.5</artifactId>
-            </exclusion>
-            <exclusion>
-              <artifactId>commons-logging</artifactId>
-              <groupId>commons-logging</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>slf4j-log4j12</artifactId>
-              <groupId>org.slf4j</groupId>
-            </exclusion>
-            <exclusion>
-              <artifactId>asm</artifactId>
-              <groupId>asm</groupId>
-            </exclusion>
-          </exclusions>
         </dependency>
       </dependencies>
     </profile>

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseFilterBuilder.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseFilterBuilder.java
 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseFilterBuilder.java
index 5c49f18..b10415d 100644
--- 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseFilterBuilder.java
+++ 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseFilterBuilder.java
@@ -26,13 +26,13 @@ import org.apache.drill.common.expression.SchemaPath;
 import org.apache.drill.common.expression.visitors.AbstractExprVisitor;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.filter.BinaryComparator;
+import org.apache.hadoop.hbase.filter.ByteArrayComparable;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.filter.Filter;
 import org.apache.hadoop.hbase.filter.NullComparator;
 import org.apache.hadoop.hbase.filter.RegexStringComparator;
 import org.apache.hadoop.hbase.filter.RowFilter;
 import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
-import org.apache.hadoop.hbase.filter.WritableByteArrayComparable;
 
 import com.google.common.base.Charsets;
 import com.google.common.collect.ImmutableList;
@@ -169,7 +169,7 @@ public class HBaseFilterBuilder extends 
AbstractExprVisitor<HBaseScanSpec, Void,
 
     CompareOp compareOp = null;
     boolean isNullTest = false;
-    WritableByteArrayComparable comparator = new BinaryComparator(fieldValue);
+    ByteArrayComparable comparator = new BinaryComparator(fieldValue);
     byte[] startRow = HConstants.EMPTY_START_ROW;
     byte[] stopRow = HConstants.EMPTY_END_ROW;
     switch (functionName) {

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java
 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java
index 16ccc15..da38707 100644
--- 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java
+++ 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java
@@ -42,8 +42,8 @@ import org.apache.drill.exec.vector.ValueVector;
 import org.apache.drill.exec.vector.VarBinaryVector;
 import org.apache.drill.exec.vector.complex.MapVector;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
@@ -70,11 +70,8 @@ public class HBaseRecordReader extends AbstractRecordReader 
implements DrillHBas
   private String hbaseTableName;
   private Scan hbaseScan;
   private Configuration hbaseConf;
-  private Result leftOver;
-  private FragmentContext fragmentContext;
   private OperatorContext operatorContext;
 
-
   public HBaseRecordReader(Configuration conf, HBaseSubScan.HBaseSubScanSpec 
subScanSpec,
       List<SchemaPath> projectedColumns, FragmentContext context) throws 
OutOfMemoryException {
     hbaseConf = conf;
@@ -178,19 +175,14 @@ public class HBaseRecordReader extends 
AbstractRecordReader implements DrillHBas
     for (; rowCount < TARGET_RECORD_COUNT; rowCount++) {
       Result result = null;
       try {
-        if (leftOver != null) {
-          result = leftOver;
-          leftOver = null;
-        } else {
+        if (operatorContext != null) {
+          operatorContext.getStats().startWait();
+        }
+        try {
+          result = resultScanner.next();
+        } finally {
           if (operatorContext != null) {
-            operatorContext.getStats().startWait();
-          }
-          try {
-            result = resultScanner.next();
-          } finally {
-            if (operatorContext != null) {
-              operatorContext.getStats().stopWait();
-            }
+            operatorContext.getStats().stopWait();
           }
         }
       } catch (IOException e) {
@@ -201,24 +193,26 @@ public class HBaseRecordReader extends 
AbstractRecordReader implements DrillHBas
       }
 
       // parse the result and populate the value vectors
-      KeyValue[] kvs = result.raw();
-      byte[] bytes = result.getBytes().get();
+      Cell[] cells = result.rawCells();
       if (rowKeyVector != null) {
-        rowKeyVector.getMutator().setSafe(rowCount, bytes, 
kvs[0].getRowOffset(), kvs[0].getRowLength());
+        rowKeyVector.getMutator().setSafe(rowCount, cells[0].getRowArray(), 
cells[0].getRowOffset(), cells[0].getRowLength());
       }
 
-      for (KeyValue kv : kvs) {
-        int familyOffset = kv.getFamilyOffset();
-        int familyLength = kv.getFamilyLength();
-        MapVector mv = getOrCreateFamilyVector(new String(bytes, familyOffset, 
familyLength), true);
-
-        int qualifierOffset = kv.getQualifierOffset();
-        int qualifierLength = kv.getQualifierLength();
-        NullableVarBinaryVector v = getOrCreateColumnVector(mv, new 
String(bytes, qualifierOffset, qualifierLength));
-
-        int valueOffset = kv.getValueOffset();
-        int valueLength = kv.getValueLength();
-        v.getMutator().setSafe(rowCount, bytes, valueOffset, valueLength);
+      for (Cell cell : cells) {
+        int familyOffset = cell.getFamilyOffset();
+        int familyLength = cell.getFamilyLength();
+        byte[] familyArray = cell.getFamilyArray();
+        MapVector mv = getOrCreateFamilyVector(new String(familyArray, 
familyOffset, familyLength), true);
+
+        int qualifierOffset = cell.getQualifierOffset();
+        int qualifierLength = cell.getQualifierLength();
+        byte[] qualifierArray = cell.getQualifierArray();
+        NullableVarBinaryVector v = getOrCreateColumnVector(mv, new 
String(qualifierArray, qualifierOffset, qualifierLength));
+
+        int valueOffset = cell.getValueOffset();
+        int valueLength = cell.getValueLength();
+        byte[] valueArray = cell.getValueArray();
+        v.getMutator().setSafe(rowCount, valueArray, valueOffset, valueLength);
       }
     }
 

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseUtils.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseUtils.java
 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseUtils.java
index 3c8aee2..0d804cd 100644
--- 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseUtils.java
+++ 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseUtils.java
@@ -17,10 +17,6 @@
  */
 package org.apache.drill.exec.store.hbase;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.charset.CharacterCodingException;
 import java.util.List;
@@ -30,7 +26,8 @@ import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.filter.Filter;
 import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.ParseFilter;
-import org.apache.hadoop.hbase.io.HbaseObjectWritable;
+import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.protobuf.generated.FilterProtos;
 import org.apache.hadoop.hbase.util.Bytes;
 
 import com.google.common.collect.Lists;
@@ -60,9 +57,9 @@ public class HBaseUtils {
     if (filter == null) {
       return null;
     }
-    try (ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); 
DataOutputStream out = new DataOutputStream(byteStream)) {
-      HbaseObjectWritable.writeObject(out, filter, filter.getClass(), null);
-      return byteStream.toByteArray();
+    try {
+      FilterProtos.Filter pbFilter = ProtobufUtil.toFilter(filter);
+      return pbFilter.toByteArray();
     } catch (IOException e) {
       throw new DrillRuntimeException("Error serializing filter: " + filter, 
e);
     }
@@ -72,8 +69,9 @@ public class HBaseUtils {
     if (filterBytes == null) {
       return null;
     }
-    try (DataInputStream dis = new DataInputStream(new 
ByteArrayInputStream(filterBytes));) {
-      return (Filter) HbaseObjectWritable.readObject(dis, null);
+    try {
+      FilterProtos.Filter pbFilter = 
FilterProtos.Filter.parseFrom(filterBytes);
+      return ProtobufUtil.toFilter(pbFilter);
     } catch (Exception e) {
       throw new DrillRuntimeException("Error deserializing filter: " + 
filterBytes, e);
     }

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java
 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java
index 9c8fbad..bfd04fe 100644
--- 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java
+++ 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java
@@ -26,10 +26,12 @@ import java.util.TreeMap;
 import java.util.TreeSet;
 
 import org.apache.drill.common.config.DrillConfig;
+import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.ClusterStatus;
 import org.apache.hadoop.hbase.HRegionInfo;
-import org.apache.hadoop.hbase.HServerLoad;
-import org.apache.hadoop.hbase.HServerLoad.RegionLoad;
+import org.apache.hadoop.hbase.RegionLoad;
+import org.apache.hadoop.hbase.ServerLoad;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTable;
@@ -84,7 +86,12 @@ public class TableStatsCalculator {
             break;
           }
           numColumnsSum += row.size();
-          rowSizeSum += row.getBytes().getLength();
+          Cell[] cells = row.rawCells();
+          if (cells != null) {
+            for (Cell cell : cells) {
+              rowSizeSum += CellUtil.estimatedSizeOf(cell);
+            }
+          }
         }
         if (rowCount > 0) {
           avgRowSizeInBytes = (int) (rowSizeSum/rowCount);
@@ -123,7 +130,7 @@ public class TableStatsCalculator {
       Collection<ServerName> servers = clusterStatus.getServers();
       //iterate all cluster regions, filter regions from our table and compute 
their size
       for (ServerName serverName : servers) {
-        HServerLoad serverLoad = clusterStatus.getLoad(serverName);
+        ServerLoad serverLoad = clusterStatus.getLoad(serverName);
 
         for (RegionLoad regionLoad : serverLoad.getRegionsLoad().values()) {
           byte[] regionId = regionLoad.getName();

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/config/HBasePStoreProvider.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/config/HBasePStoreProvider.java
 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/config/HBasePStoreProvider.java
index b3947b4..e57f2b3 100644
--- 
a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/config/HBasePStoreProvider.java
+++ 
b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/config/HBasePStoreProvider.java
@@ -119,6 +119,7 @@ public class HBasePStoreProvider implements PStoreProvider {
 
 
   @Override
+  @SuppressWarnings("deprecation")
   public void start() throws IOException {
     this.connection = HConnectionManager.createConnection(hbaseConf);
 

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseTestsSuite.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseTestsSuite.java
 
b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseTestsSuite.java
index 96a887e..a77baba 100644
--- 
a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseTestsSuite.java
+++ 
b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseTestsSuite.java
@@ -82,7 +82,11 @@ public class HBaseTestsSuite {
           if (manageHBaseCluster) {
             logger.info("Starting HBase mini cluster.");
             UTIL = new HBaseTestingUtility(conf);
-            UTIL.startMiniCluster();
+            UTIL.startMiniZKCluster();
+            String old_home = System.getProperty("user.home");
+            System.setProperty("user.home", UTIL.getDataTestDir().toString());
+            UTIL.startMiniHBaseCluster(1, 1);
+            System.setProperty("user.home", old_home);
             hbaseClusterCreated = true;
             logger.info("HBase mini cluster started. Zookeeper port: '{}'", 
getZookeeperPort());
           }

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestHBaseRegionScanAssignments.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestHBaseRegionScanAssignments.java
 
b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestHBaseRegionScanAssignments.java
index bfc0558..ceffe4c 100644
--- 
a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestHBaseRegionScanAssignments.java
+++ 
b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestHBaseRegionScanAssignments.java
@@ -30,6 +30,7 @@ import org.apache.drill.exec.store.hbase.HBaseGroupScan;
 import org.apache.drill.exec.store.hbase.HBaseScanSpec;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -56,25 +57,25 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
 
   static final String PORT_AND_STARTTIME = ",60020,1400265190186";
 
-  static final ServerName SERVER_A = new ServerName(HOST_A + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_B = new ServerName(HOST_B + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_C = new ServerName(HOST_C + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_D = new ServerName(HOST_D + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_E = new ServerName(HOST_E + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_F = new ServerName(HOST_F + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_G = new ServerName(HOST_G + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_H = new ServerName(HOST_H + 
PORT_AND_STARTTIME);
-  static final ServerName SERVER_I = new ServerName(HOST_I + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_A = ServerName.valueOf(HOST_A + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_B = ServerName.valueOf(HOST_B + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_C = ServerName.valueOf(HOST_C + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_D = ServerName.valueOf(HOST_D + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_E = ServerName.valueOf(HOST_E + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_F = ServerName.valueOf(HOST_F + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_G = ServerName.valueOf(HOST_G + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_H = ServerName.valueOf(HOST_H + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_I = ServerName.valueOf(HOST_I + 
PORT_AND_STARTTIME);
 
-  static final ServerName SERVER_X = new ServerName(HOST_X + 
PORT_AND_STARTTIME);
+  static final ServerName SERVER_X = ServerName.valueOf(HOST_X + 
PORT_AND_STARTTIME);
 
   static final byte[][] splits = {{},
     "10".getBytes(), "15".getBytes(), "20".getBytes(), "25".getBytes(), 
"30".getBytes(), "35".getBytes(),
     "40".getBytes(), "45".getBytes(), "50".getBytes(), "55".getBytes(), 
"60".getBytes(), "65".getBytes(),
     "70".getBytes(), "75".getBytes(), "80".getBytes(), "85".getBytes(), 
"90".getBytes(), "95".getBytes()};
 
-  static final String TABLE_NAME = "TestTable";
-  static final byte[] TABLE_NAME_BYTES = TABLE_NAME.getBytes();
+  static final String TABLE_NAME_STR = "TestTable";
+  static final TableName TABLE_NAME = TableName.valueOf(TABLE_NAME_STR);
 
   /**
    * Has the same name as the {@link BeforeClass} method of the parent so that
@@ -94,14 +95,14 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
   @Test
   public void testHBaseGroupScanAssignmentMix() throws Exception {
     NavigableMap<HRegionInfo,ServerName> regionsToScan = Maps.newTreeMap();
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[0], splits[1]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[1], splits[2]), 
SERVER_B);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[2], splits[3]), 
SERVER_B);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[3], splits[4]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[4], splits[5]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[5], splits[6]), 
SERVER_D);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[6], splits[7]), 
SERVER_C);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[7], splits[0]), 
SERVER_D);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[0], splits[1]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[1], splits[2]), 
SERVER_B);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[2], splits[3]), 
SERVER_B);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[3], splits[4]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[4], splits[5]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[5], splits[6]), 
SERVER_D);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[6], splits[7]), 
SERVER_C);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[7], splits[0]), 
SERVER_D);
 
     final List<DrillbitEndpoint> endpoints = Lists.newArrayList();
     final DrillbitEndpoint DB_A = 
DrillbitEndpoint.newBuilder().setAddress(HOST_A).setControlPort(1234).build();
@@ -116,7 +117,7 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
 
     HBaseGroupScan scan = new HBaseGroupScan();
     scan.setRegionsToScan(regionsToScan);
-    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME, splits[0], splits[0], 
null));
+    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME_STR, splits[0], 
splits[0], null));
     scan.applyAssignments(endpoints);
 
     int i = 0;
@@ -131,24 +132,24 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
   @Test
   public void testHBaseGroupScanAssignmentSomeAfinedWithOrphans() throws 
Exception {
     NavigableMap<HRegionInfo,ServerName> regionsToScan = Maps.newTreeMap();
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[0], splits[1]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[1], splits[2]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[2], splits[3]), 
SERVER_B);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[3], splits[4]), 
SERVER_B);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[4], splits[5]), 
SERVER_C);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[5], splits[6]), 
SERVER_C);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[6], splits[7]), 
SERVER_D);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[7], splits[8]), 
SERVER_D);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[8], splits[9]), 
SERVER_E);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[9], 
splits[10]), SERVER_E);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[10], 
splits[11]), SERVER_F);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[11], 
splits[12]), SERVER_F);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[12], 
splits[13]), SERVER_G);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[13], 
splits[14]), SERVER_G);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[14], 
splits[15]), SERVER_H);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[15], 
splits[16]), SERVER_H);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[16], 
splits[17]), SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[17], 
splits[0]), SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[0], splits[1]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[1], splits[2]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[2], splits[3]), 
SERVER_B);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[3], splits[4]), 
SERVER_B);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[4], splits[5]), 
SERVER_C);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[5], splits[6]), 
SERVER_C);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[6], splits[7]), 
SERVER_D);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[7], splits[8]), 
SERVER_D);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[8], splits[9]), 
SERVER_E);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[9], splits[10]), 
SERVER_E);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[10], splits[11]), 
SERVER_F);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[11], splits[12]), 
SERVER_F);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[12], splits[13]), 
SERVER_G);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[13], splits[14]), 
SERVER_G);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[14], splits[15]), 
SERVER_H);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[15], splits[16]), 
SERVER_H);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[16], splits[17]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[17], splits[0]), 
SERVER_A);
 
     final List<DrillbitEndpoint> endpoints = Lists.newArrayList();
     
endpoints.add(DrillbitEndpoint.newBuilder().setAddress(HOST_A).setControlPort(1234).build());
@@ -167,7 +168,7 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
 
     HBaseGroupScan scan = new HBaseGroupScan();
     scan.setRegionsToScan(regionsToScan);
-    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME, splits[0], splits[0], 
null));
+    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME_STR, splits[0], 
splits[0], null));
     scan.applyAssignments(endpoints);
 
     LinkedList<Integer> sizes = Lists.newLinkedList();
@@ -183,15 +184,15 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
   @Test
   public void testHBaseGroupScanAssignmentOneEach() throws Exception {
     NavigableMap<HRegionInfo,ServerName> regionsToScan = Maps.newTreeMap();
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[0], splits[1]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[1], splits[2]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[2], splits[3]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[3], splits[4]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[4], splits[5]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[5], splits[6]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[6], splits[7]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[7], splits[8]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[8], splits[0]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[0], splits[1]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[1], splits[2]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[2], splits[3]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[3], splits[4]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[4], splits[5]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[5], splits[6]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[6], splits[7]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[7], splits[8]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[8], splits[0]), 
SERVER_A);
 
     final List<DrillbitEndpoint> endpoints = Lists.newArrayList();
     
endpoints.add(DrillbitEndpoint.newBuilder().setAddress(HOST_A).setControlPort(1234).build());
@@ -206,7 +207,7 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
 
     HBaseGroupScan scan = new HBaseGroupScan();
     scan.setRegionsToScan(regionsToScan);
-    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME, splits[0], splits[0], 
null));
+    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME_STR, splits[0], 
splits[0], null));
     scan.applyAssignments(endpoints);
 
     int i = 0;
@@ -225,14 +226,14 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
   @Test
   public void testHBaseGroupScanAssignmentNoAfinity() throws Exception {
     NavigableMap<HRegionInfo,ServerName> regionsToScan = Maps.newTreeMap();
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[0], splits[1]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[1], splits[2]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[2], splits[3]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[3], splits[4]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[4], splits[5]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[5], splits[6]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[6], splits[7]), 
SERVER_X);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[7], splits[0]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[0], splits[1]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[1], splits[2]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[2], splits[3]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[3], splits[4]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[4], splits[5]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[5], splits[6]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[6], splits[7]), 
SERVER_X);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[7], splits[0]), 
SERVER_X);
 
     final List<DrillbitEndpoint> endpoints = Lists.newArrayList();
     
endpoints.add(DrillbitEndpoint.newBuilder().setAddress(HOST_A).setControlPort(1234).build());
@@ -246,7 +247,7 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
 
     HBaseGroupScan scan = new HBaseGroupScan();
     scan.setRegionsToScan(regionsToScan);
-    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME, splits[0], splits[0], 
null));
+    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME_STR, splits[0], 
splits[0], null));
     scan.applyAssignments(endpoints);
 
     int i = 0;
@@ -264,14 +265,14 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
   @Test
   public void testHBaseGroupScanAssignmentAllPreferred() throws Exception {
     NavigableMap<HRegionInfo,ServerName> regionsToScan = Maps.newTreeMap();
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[0], splits[1]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[1], splits[2]), 
SERVER_A);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[2], splits[3]), 
SERVER_B);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[3], splits[4]), 
SERVER_B);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[4], splits[5]), 
SERVER_C);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[5], splits[6]), 
SERVER_C);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[6], splits[7]), 
SERVER_D);
-    regionsToScan.put(new HRegionInfo(TABLE_NAME_BYTES, splits[7], splits[0]), 
SERVER_D);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[0], splits[1]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[1], splits[2]), 
SERVER_A);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[2], splits[3]), 
SERVER_B);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[3], splits[4]), 
SERVER_B);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[4], splits[5]), 
SERVER_C);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[5], splits[6]), 
SERVER_C);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[6], splits[7]), 
SERVER_D);
+    regionsToScan.put(new HRegionInfo(TABLE_NAME, splits[7], splits[0]), 
SERVER_D);
 
     final List<DrillbitEndpoint> endpoints = Lists.newArrayList();
     final DrillbitEndpoint DB_A = 
DrillbitEndpoint.newBuilder().setAddress(HOST_A).setControlPort(1234).build();
@@ -285,7 +286,7 @@ public class TestHBaseRegionScanAssignments extends 
BaseHBaseTest {
 
     HBaseGroupScan scan = new HBaseGroupScan();
     scan.setRegionsToScan(regionsToScan);
-    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME, splits[0], splits[0], 
null));
+    scan.setHBaseScanSpec(new HBaseScanSpec(TABLE_NAME_STR, splits[0], 
splits[0], null));
     scan.applyAssignments(endpoints);
 
     int i = 0;

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 2aefe08..703a4c4 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -57,7 +57,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.hbase</groupId>
-      <artifactId>hbase</artifactId>
+      <artifactId>hbase-client</artifactId>
     </dependency>
 
     <dependency>

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/exec/java-exec/pom.xml
----------------------------------------------------------------------
diff --git a/exec/java-exec/pom.xml b/exec/java-exec/pom.xml
index 90734a5..f5d9962 100644
--- a/exec/java-exec/pom.xml
+++ b/exec/java-exec/pom.xml
@@ -334,10 +334,6 @@
       <groupId>org.apache.hadoop</groupId>
       <artifactId>hadoop-client</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.apache.hbase</groupId>
-      <artifactId>hbase</artifactId>
-    </dependency>
   </dependencies>
 
   <profiles>

http://git-wip-us.apache.org/repos/asf/drill/blob/54b5f80a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2087a0b..17f0e09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 to 
-  You under the Apache License, Version 2.0 (the "License"); you may not use 
-  this file except in compliance with the License. You may obtain a copy of 
-  the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
-  by applicable law or agreed to in writing, software distributed under the 
-  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
-  OF ANY KIND, either express or implied. See the License for the specific 
+<!-- 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 to
+  You under the Apache License, Version 2.0 (the "License"); you may not use
+  this file except in compliance with the License. You may obtain a copy of
+  the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+  by applicable law or agreed to in writing, software distributed under the
+  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+  OF ANY KIND, either express or implied. See the License for the specific
   language governing permissions and limitations under the License. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
@@ -401,7 +401,7 @@
           </configuration>
         </plugin>
 
-        <!--This plugin's configuration is used to store Eclipse m2e settings 
+        <!--This plugin's configuration is used to store Eclipse m2e settings
           only. It has no influence on the Maven build itself. -->
         <plugin>
           <groupId>org.eclipse.m2e</groupId>
@@ -556,7 +556,7 @@
 
   <profiles>
     <profile>
-      <!-- this profile adds/overrides few features of the 'apache-release' 
+      <!-- this profile adds/overrides few features of the 'apache-release'
         profile in the parent pom. -->
       <id>apache-release</id>
       <build>
@@ -580,7 +580,7 @@
               <failOnError>false</failOnError>
             </configuration>
           </plugin>
-          <!-- override the parent assembly execution to customize the 
assembly 
+          <!-- override the parent assembly execution to customize the assembly
             descriptor and final name -->
           <plugin>
             <artifactId>maven-assembly-plugin</artifactId>
@@ -626,13 +626,13 @@
                 <groupId>org.mortbay.jetty</groupId>
                 <artifactId>servlet-api-2.5</artifactId>
               </exclusion>
-                            <exclusion>
+              <exclusion>
                 <groupId>org.mortbay.jetty</groupId>
                 <artifactId>servlet-api-2.5</artifactId>
               </exclusion>
               <exclusion>
                 <groupId>javax.servlet</groupId>
-                <artifactId>servlet-api</artifactId>              
+                <artifactId>servlet-api</artifactId>
               </exclusion>
               <exclusion>
                 <groupId>org.mortbay.jetty</groupId>
@@ -711,7 +711,7 @@
             <exclusions>
               <exclusion>
                 <groupId>javax.servlet</groupId>
-                <artifactId>servlet-api</artifactId>              
+                <artifactId>servlet-api</artifactId>
               </exclusion>
               <exclusion>
                 <groupId>org.mortbay.jetty</groupId>
@@ -793,8 +793,8 @@
           </dependency>
           <dependency>
             <groupId>org.apache.hbase</groupId>
-            <artifactId>hbase</artifactId>
-            <version>0.94.22-drill-r1</version>
+            <artifactId>hbase-client</artifactId>
+            <version>0.98.7-hadoop2</version>
             <exclusions>
               <exclusion>
                 <groupId>org.mortbay.jetty</groupId>
@@ -903,6 +903,31 @@
             </exclusions>
           </dependency>
           <dependency>
+            <groupId>org.apache.hbase</groupId>
+            <artifactId>hbase-testing-util</artifactId>
+            <classifier>tests</classifier>
+            <version>0.98.7-hadoop2</version>
+            <scope>test</scope>
+            <exclusions>
+              <exclusion>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>servlet-api-2.5</artifactId>
+              </exclusion>
+              <exclusion>
+                <artifactId>commons-logging</artifactId>
+                <groupId>commons-logging</groupId>
+              </exclusion>
+              <exclusion>
+                <artifactId>slf4j-log4j12</artifactId>
+                <groupId>org.slf4j</groupId>
+              </exclusion>
+              <exclusion>
+                <artifactId>asm</artifactId>
+                <groupId>asm</groupId>
+              </exclusion>
+            </exclusions>
+          </dependency>
+          <dependency>
             <groupId>xerces</groupId>
             <artifactId>xercesImpl</artifactId>
             <version>2.11.0</version>
@@ -935,13 +960,20 @@
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-hdfs</artifactId>
             <version>2.4.1</version>
-            <classifier>tests</classifier>
             <scope>test</scope>
             <exclusions>
               <exclusion>
                 <groupId>commons-logging</groupId>
                 <artifactId>commons-logging</artifactId>
               </exclusion>
+              <exclusion>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>servlet-api</artifactId>
+              </exclusion>
+              <exclusion>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+              </exclusion>
             </exclusions>
           </dependency>
         </dependencies>
@@ -974,9 +1006,9 @@
               </exclusion>
               <exclusion>
                 <groupId>javax.servlet</groupId>
-                <artifactId>servlet-api</artifactId>              
+                <artifactId>servlet-api</artifactId>
               </exclusion>
-              
+
               <exclusion>
                 <groupId>org.mortbay.jetty</groupId>
                 <artifactId>jetty-util</artifactId>
@@ -996,7 +1028,7 @@
               <exclusion>
                 <groupId>com.sun.jersey</groupId>
                 <artifactId>jersey-client</artifactId>
-              </exclusion>              
+              </exclusion>
               <exclusion>
                 <artifactId>jets3t</artifactId>
                 <groupId>net.java.dev.jets3t</groupId>
@@ -1066,7 +1098,7 @@
               </exclusion>
               <exclusion>
                 <groupId>javax.servlet</groupId>
-                <artifactId>servlet-api</artifactId>              
+                <artifactId>servlet-api</artifactId>
               </exclusion>
               <exclusion>
                 <groupId>org.mortbay.jetty</groupId>
@@ -1205,14 +1237,22 @@
                 <groupId>commons-logging</groupId>
                 <artifactId>commons-logging</artifactId>
               </exclusion>
+              <exclusion>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+              </exclusion>
             </exclusions>
           </dependency>
           <dependency>
             <groupId>org.apache.hbase</groupId>
-            <artifactId>hbase</artifactId>
-            <version>0.94.17-mapr-1405-m7-4.0.1</version>
+            <artifactId>hbase-client</artifactId>
+            <version>0.98.7-mapr-1501-m7-4.0.1</version>
             <exclusions>
               <exclusion>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+              </exclusion>
+              <exclusion>
                 <artifactId>servlet-api-2.5</artifactId>
                 <groupId>org.mortbay.jetty</groupId>
               </exclusion>
@@ -1266,6 +1306,35 @@
               </exclusion>
             </exclusions>
           </dependency>
+          <dependency>
+            <groupId>org.apache.hbase</groupId>
+            <artifactId>hbase-testing-util</artifactId>
+            <classifier>tests</classifier>
+            <version>0.98.7-mapr-1501-m7-4.0.1</version>
+            <scope>test</scope>
+            <exclusions>
+              <exclusion>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+              </exclusion>
+              <exclusion>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>servlet-api-2.5</artifactId>
+              </exclusion>
+              <exclusion>
+                <artifactId>commons-logging</artifactId>
+                <groupId>commons-logging</groupId>
+              </exclusion>
+              <exclusion>
+                <artifactId>slf4j-log4j12</artifactId>
+                <groupId>org.slf4j</groupId>
+              </exclusion>
+              <exclusion>
+                <artifactId>asm</artifactId>
+                <groupId>asm</groupId>
+              </exclusion>
+            </exclusions>
+          </dependency>
         </dependencies>
       </dependencyManagement>
       <repositories>
@@ -1314,7 +1383,7 @@
             <exclusions>
               <exclusion>
                 <groupId>javax.servlet</groupId>
-                <artifactId>servlet-api</artifactId>              
+                <artifactId>servlet-api</artifactId>
               </exclusion>
               <exclusion>
                 <artifactId>commons-logging</artifactId>
@@ -1372,7 +1441,7 @@
             <exclusions>
               <exclusion>
                 <groupId>javax.servlet</groupId>
-                <artifactId>servlet-api</artifactId>              
+                <artifactId>servlet-api</artifactId>
               </exclusion>
               <exclusion>
                 <artifactId>commons-logging</artifactId>

Reply via email to