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>