From 7df83eaa091104a1d745f7ffd38e47d1c8b3cda2 Mon Sep 17 00:00:00 2001 From: Connor McCoy <connormccoy@google.com> Date: Thu, 20 Aug 2015 11:08:56 -0700 Subject: [PATCH] [hbase] Separate hbase094, hbase098, hbase10 bindings. HBase 0.94 requires an additional dependency on hadoop-core, but has no source-level changes to the client. --- bin/ycsb | 5 +- distribution/pom.xml | 9 ++- hbase094/README.md | 23 +++++++ hbase094/pom.xml | 68 +++++++++++++++++++ {hbase => hbase098}/README.md | 7 +- {hbase => hbase098}/pom.xml | 8 +-- .../java/com/yahoo/ycsb/db/HBaseClient.java | 0 {hbase1 => hbase10}/README.md | 0 {hbase1 => hbase10}/pom.xml | 6 +- .../java/com/yahoo/ycsb/db/HBaseClient10.java | 0 pom.xml | 10 +-- 11 files changed, 118 insertions(+), 18 deletions(-) create mode 100644 hbase094/README.md create mode 100644 hbase094/pom.xml rename {hbase => hbase098}/README.md (92%) rename {hbase => hbase098}/pom.xml (91%) rename {hbase => hbase098}/src/main/java/com/yahoo/ycsb/db/HBaseClient.java (100%) rename {hbase1 => hbase10}/README.md (100%) rename {hbase1 => hbase10}/pom.xml (94%) rename {hbase1 => hbase10}/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java (100%) diff --git a/bin/ycsb b/bin/ycsb index 1f836486..d18de33c 100755 --- a/bin/ycsb +++ b/bin/ycsb @@ -55,8 +55,9 @@ DATABASES = { "dynamodb" : "com.yahoo.ycsb.db.DynamoDBClient", "elasticsearch": "com.yahoo.ycsb.db.ElasticSearchClient", "gemfire" : "com.yahoo.ycsb.db.GemFireClient", - "hbase" : "com.yahoo.ycsb.db.HBaseClient", - "hbase1" : "com.yahoo.ycsb.db.HBaseClient10", + "hbase094" : "com.yahoo.ycsb.db.HBaseClient", + "hbase098" : "com.yahoo.ycsb.db.HBaseClient", + "hbase10" : "com.yahoo.ycsb.db.HBaseClient10", "hypertable" : "com.yahoo.ycsb.db.HypertableClient", "infinispan-cs": "com.yahoo.ycsb.db.InfinispanRemoteClient", "infinispan" : "com.yahoo.ycsb.db.InfinispanClient", diff --git a/distribution/pom.xml b/distribution/pom.xml index 66675125..82592028 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -76,12 +76,17 @@ LICENSE file. </dependency> <dependency> <groupId>com.yahoo.ycsb</groupId> - <artifactId>hbase-binding</artifactId> + <artifactId>hbase094-binding</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.yahoo.ycsb</groupId> - <artifactId>hbase1-binding</artifactId> + <artifactId>hbase098-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>hbase10-binding</artifactId> <version>${project.version}</version> </dependency> <dependency> diff --git a/hbase094/README.md b/hbase094/README.md new file mode 100644 index 00000000..3df8264c --- /dev/null +++ b/hbase094/README.md @@ -0,0 +1,23 @@ +<!-- +Copyright (c) 2015 YCSB contributors. All rights reserved. + +Licensed 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. See accompanying +LICENSE file. +--> + +# HBase (0.94.x) Driver for YCSB +This driver is a binding for the YCSB facilities to operate against a HBase 0.94.x Server cluster. It may also work against 0.92.x +To run against an HBase 0.98.x cluster, use the `hbase098` binding. +To run against an HBase >= 1.0 cluster, use the `hbase10` binding. + +See `hbase098/README.md` for configuration details. diff --git a/hbase094/pom.xml b/hbase094/pom.xml new file mode 100644 index 00000000..3a3ea06e --- /dev/null +++ b/hbase094/pom.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2012 - 2015 YCSB contributors. All rights reserved. + +Licensed 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. See accompanying +LICENSE file. +--> + +<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/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>binding-parent</artifactId> + <version>0.4.0-SNAPSHOT</version> + <relativePath>../binding-parent/</relativePath> + </parent> + + <artifactId>hbase094-binding</artifactId> + <name>HBase 0.94.x DB Binding</name> + + <dependencies> + <!-- This binding is identical to the HBase 0.98, other than dependencies. --> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase</artifactId> + <version>${hbase094.version}</version> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-core</artifactId> + <version>1.0.4</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>hbase098-binding</artifactId> + <version>${project.version}</version> + <exclusions> + <!-- HBase 0.98.0 depends on hbase-client, HBase 0.94.0 on hbase. + Override all dependencies. --> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.12</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>core</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> diff --git a/hbase/README.md b/hbase098/README.md similarity index 92% rename from hbase/README.md rename to hbase098/README.md index 9bc01c4c..fc75c626 100644 --- a/hbase/README.md +++ b/hbase098/README.md @@ -15,9 +15,10 @@ permissions and limitations under the License. See accompanying LICENSE file. --> -# HBase (0.9x) Driver for YCSB -This driver is a binding for the YCSB facilities to operate against a HBase 0.9x Server cluster. -To run against an HBase >= 1.0 cluster, use the `hbase1` binding. +# HBase (0.98.x) Driver for YCSB +This driver is a binding for the YCSB facilities to operate against a HBase 0.98.x Server cluster. +To run against an HBase 0.94.x cluster, use the `hbase094` binding. +To run against an HBase >= 1.0 cluster, use the `hbase10` binding. ## Quickstart diff --git a/hbase/pom.xml b/hbase098/pom.xml similarity index 91% rename from hbase/pom.xml rename to hbase098/pom.xml index 1d42f71b..627f31e8 100644 --- a/hbase/pom.xml +++ b/hbase098/pom.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- +<!-- Copyright (c) 2012 - 2015 YCSB contributors. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you @@ -25,14 +25,14 @@ LICENSE file. <relativePath>../binding-parent/</relativePath> </parent> - <artifactId>hbase-binding</artifactId> - <name>HBase 0.9x DB Binding</name> + <artifactId>hbase098-binding</artifactId> + <name>HBase 0.98.x DB Binding</name> <dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> - <version>${hbase.version}</version> + <version>${hbase098.version}</version> </dependency> <dependency> <groupId>com.yahoo.ycsb</groupId> diff --git a/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java b/hbase098/src/main/java/com/yahoo/ycsb/db/HBaseClient.java similarity index 100% rename from hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java rename to hbase098/src/main/java/com/yahoo/ycsb/db/HBaseClient.java diff --git a/hbase1/README.md b/hbase10/README.md similarity index 100% rename from hbase1/README.md rename to hbase10/README.md diff --git a/hbase1/pom.xml b/hbase10/pom.xml similarity index 94% rename from hbase1/pom.xml rename to hbase10/pom.xml index 6d5ea1fd..77693b16 100644 --- a/hbase1/pom.xml +++ b/hbase10/pom.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- +<!-- Copyright (c) 2012 - 2015 YCSB contributors. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you @@ -25,14 +25,14 @@ LICENSE file. <relativePath>../binding-parent/</relativePath> </parent> - <artifactId>hbase1-binding</artifactId> + <artifactId>hbase10-binding</artifactId> <name>HBase 1.0 DB Binding</name> <dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> - <version>${hbase1.version}</version> + <version>${hbase10.version}</version> </dependency> <dependency> <groupId>com.yahoo.ycsb</groupId> diff --git a/hbase1/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java b/hbase10/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java similarity index 100% rename from hbase1/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java rename to hbase10/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java diff --git a/pom.xml b/pom.xml index 9e15425f..c47cb468 100644 --- a/pom.xml +++ b/pom.xml @@ -69,8 +69,9 @@ LICENSE file. <properties> <maven.assembly.version>2.5.5</maven.assembly.version> <maven.dependency.version>2.10</maven.dependency.version> - <hbase.version>0.98.13-hadoop2</hbase.version> - <hbase1.version>1.0.0</hbase1.version> + <hbase094.version>0.94.27</hbase094.version> + <hbase098.version>0.98.13-hadoop2</hbase098.version> + <hbase10.version>1.0.1.1</hbase10.version> <accumulo.version>1.6.0</accumulo.version> <cassandra.version>1.2.9</cassandra.version> <cassandra.cql.version>1.0.3</cassandra.cql.version> @@ -104,8 +105,9 @@ LICENSE file. <module>dynamodb</module> <module>elasticsearch</module> <module>gemfire</module> - <module>hbase</module> - <module>hbase1</module> + <module>hbase094</module> + <module>hbase098</module> + <module>hbase10</module> <module>hypertable</module> <module>infinispan</module> <module>jdbc</module> -- GitLab