Repository: incubator-tephra Updated Branches: refs/heads/master 1ce88441e -> b9927becd
TEPHRA-174 Added support for HBase version 1.2.0-cdh5.7.0 Project: http://git-wip-us.apache.org/repos/asf/incubator-tephra/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tephra/commit/5bed43f0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tephra/tree/5bed43f0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tephra/diff/5bed43f0 Branch: refs/heads/master Commit: 5bed43f05b4e4e3aa4aade9fafb4052ebb515e8a Parents: 1ce8844 Author: sagarkapare <[email protected]> Authored: Mon Apr 11 13:20:29 2016 -0700 Committer: sagarkapare <[email protected]> Committed: Wed Apr 13 17:50:08 2016 -0700 ---------------------------------------------------------------------- README.rst | 34 ++++++++++---------- .../java/co/cask/tephra/util/HBaseVersion.java | 13 +++++++- .../util/HBaseVersionSpecificFactory.java | 3 +- .../co/cask/tephra/util/HBaseVersionTest.java | 3 ++ 4 files changed, 34 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/5bed43f0/README.rst ---------------------------------------------------------------------- diff --git a/README.rst b/README.rst index 6c041d5..076cc3b 100644 --- a/README.rst +++ b/README.rst @@ -103,19 +103,19 @@ component versions: +===============+===================+=========================================================+ | **HDFS** | Apache Hadoop | 2.0.2-alpha through 2.6.0 | + +-------------------+---------------------------------------------------------+ -| | CDH or HDP | (CDH) 5.0.0 through 5.4.4 or (HDP) 2.0, 2.1, 2.2 or 2.3 | +| | CDH or HDP | (CDH) 5.0.0 through 5.7.0 or (HDP) 2.0, 2.1, 2.2 or 2.3 | + +-------------------+---------------------------------------------------------+ | | MapR | 4.1 (with MapR-FS) | +---------------+-------------------+---------------------------------------------------------+ | **HBase** | Apache | 0.96.x, 0.98.x, 1.0.x, and 1.1.x | + +-------------------+---------------------------------------------------------+ -| | CDH or HDP | (CDH) 5.0.0 through 5.4.4 or (HDP) 2.0, 2.1, 2.2 or 2.3 | +| | CDH or HDP | (CDH) 5.0.0 through 5.7.0 or (HDP) 2.0, 2.1, 2.2 or 2.3 | + +-------------------+---------------------------------------------------------+ | | MapR | 4.1 (with Apache HBase) | +---------------+-------------------+---------------------------------------------------------+ | **Zookeeper** | Apache | Version 3.4.3 through 3.4.5 | + +-------------------+---------------------------------------------------------+ -| | CDH or HDP | (CDH) 5.0.0 through 5.4.4 or (HDP) 2.0, 2.1, 2.2 or 2.3 | +| | CDH or HDP | (CDH) 5.0.0 through 5.7.0 or (HDP) 2.0, 2.1, 2.2 or 2.3 | + +-------------------+---------------------------------------------------------+ | | MapR | 4.1 | +---------------+-------------------+---------------------------------------------------------+ @@ -144,12 +144,12 @@ build system's equivalent configuration), in order to make use of Tephra classes <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-api</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-core</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> Since the HBase APIs have changed between versions, you will need to select the @@ -160,7 +160,7 @@ For HBase 0.96.x:: <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-hbase-compat-0.96</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> For HBase 0.98.x:: @@ -168,7 +168,7 @@ For HBase 0.98.x:: <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-hbase-compat-0.98</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> For HBase 1.0.x:: @@ -176,24 +176,24 @@ For HBase 1.0.x:: <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-hbase-compat-1.0</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> -If you are running the CDH 5.4 version of HBase 1.0.x (this version contains API incompatibilities +If you are running the CDH 5.4, 5.5, or 5.6 version of HBase 1.0.x (this version contains API incompatibilities with Apache HBase 1.0.x):: <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-hbase-compat-1.0-cdh</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> -For HBase 1.1.x:: +For HBase 1.1.x or CDH 5.7 version of HBase 1.2.x:: <dependency> <groupId>co.cask.tephra</groupId> <artifactId>tephra-hbase-compat-1.1</artifactId> - <version>0.6.2</version> + <version>0.7.1</version> </dependency> Deployment and Configuration @@ -298,35 +298,35 @@ tables where transactional reads and writes will be performed. To configure the coprocessor on all HBase tables, add the following to ``hbase-site.xml``. -For HBase 0.96:: +For HBase 0.96.x:: <property> <name>hbase.coprocessor.region.classes</name> <value>co.cask.tephra.hbase96.coprocessor.TransactionProcessor</value> </property> -For HBase 0.98:: +For HBase 0.98.x:: <property> <name>hbase.coprocessor.region.classes</name> <value>co.cask.tephra.hbase98.coprocessor.TransactionProcessor</value> </property> -For HBase 1.0:: +For HBase 1.0.x:: <property> <name>hbase.coprocessor.region.classes</name> <value>co.cask.tephra.hbase10.coprocessor.TransactionProcessor</value> </property> -For the CDH 5.4 version of HBase 1.0:: +For the CDH 5.4, 5.5, or 5.6 version of HBase 1.0.x:: <property> <name>hbase.coprocessor.region.classes</name> <value>co.cask.tephra.hbase10cdh.coprocessor.TransactionProcessor</value> </property> -For HBase 1.1:: +For HBase 1.1.x or CDH 5.7 version of HBase 1.2.x:: <property> <name>hbase.coprocessor.region.classes</name> http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/5bed43f0/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersion.java ---------------------------------------------------------------------- diff --git a/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersion.java b/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersion.java index 6db7c2a..44946e5 100644 --- a/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersion.java +++ b/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersion.java @@ -1,5 +1,5 @@ /* - * Copyright © 2015 Cask Data, Inc. + * Copyright © 2015-2016 Cask Data, Inc. * * 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 @@ -34,6 +34,7 @@ public class HBaseVersion { private static final String HBASE_98_VERSION = "0.98"; private static final String HBASE_10_VERSION = "1.0"; private static final String HBASE_11_VERSION = "1.1"; + private static final String HBASE_12_VERSION = "1.2"; private static final String CDH_CLASSIFIER = "cdh"; private static final Logger LOG = LoggerFactory.getLogger(HBaseVersion.class); @@ -48,6 +49,7 @@ public class HBaseVersion { HBASE_10("1.0"), HBASE_10_CDH("1.0-cdh"), HBASE_11("1.1"), + HBASE_12_CDH("1.2-cdh"), UNKNOWN("unknown"); final String majorVersion; @@ -83,6 +85,15 @@ public class HBaseVersion { } } else if (versionString.startsWith(HBASE_11_VERSION)) { currentVersion = Version.HBASE_11; + } else if (versionString.startsWith(HBASE_12_VERSION)) { + VersionNumber ver = VersionNumber.create(versionString); + if (ver.getClassifier() != null && ver.getClassifier().startsWith(CDH_CLASSIFIER)) { + currentVersion = Version.HBASE_12_CDH; + } else { + // CDH 5.7 comes with HBase version 1.2.0-CDH5.7.0. However currently there is no + // other hadoop distribution that uses HBase 1.2, so the version is set here to UNKNOWN. + currentVersion = Version.UNKNOWN; + } } else { currentVersion = Version.UNKNOWN; } http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/5bed43f0/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersionSpecificFactory.java ---------------------------------------------------------------------- diff --git a/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersionSpecificFactory.java b/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersionSpecificFactory.java index c50c8cb..0079d4f 100644 --- a/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersionSpecificFactory.java +++ b/tephra-core/src/main/java/co/cask/tephra/util/HBaseVersionSpecificFactory.java @@ -1,5 +1,5 @@ /* - * Copyright © 2015 Cask Data, Inc. + * Copyright © 2015-2016 Cask Data, Inc. * * 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 @@ -47,6 +47,7 @@ public abstract class HBaseVersionSpecificFactory<T> implements Provider<T> { instance = createInstance(getHBase10CDHClassname()); break; case HBASE_11: + case HBASE_12_CDH: instance = createInstance(getHBase11Classname()); break; case UNKNOWN: http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/5bed43f0/tephra-core/src/test/java/co/cask/tephra/util/HBaseVersionTest.java ---------------------------------------------------------------------- diff --git a/tephra-core/src/test/java/co/cask/tephra/util/HBaseVersionTest.java b/tephra-core/src/test/java/co/cask/tephra/util/HBaseVersionTest.java index d6969a8..6a4a1c6 100644 --- a/tephra-core/src/test/java/co/cask/tephra/util/HBaseVersionTest.java +++ b/tephra-core/src/test/java/co/cask/tephra/util/HBaseVersionTest.java @@ -76,6 +76,9 @@ public class HBaseVersionTest { } catch (ParseException pe) { // expected } + + ver = HBaseVersion.VersionNumber.create("1.2.0-CDH5.7.0"); + assertVersionNumber(ver, 1, 2, 0, "CDH5.7.0", false); } private void assertVersionNumber(HBaseVersion.VersionNumber version, Integer expectedMajor, Integer expectedMinor,
