From c19fbf2be0c104174b21dc372e4b4dfae4b61096 Mon Sep 17 00:00:00 2001 From: Sean Busbey Date: Wed, 30 May 2018 21:22:42 -0500 Subject: [PATCH] HBASE-20501 update minimum supported Hadoop version to 2.7.1. Signed-off-by: Andrew Purtell --- dev-support/hbase-personality.sh | 25 +++++++++++++++++-------- src/main/asciidoc/_chapters/configuration.adoc | 26 +++++++++++++------------- src/main/asciidoc/_chapters/upgrading.adoc | 12 ++++++++++-- 3 files changed, 40 insertions(+), 23 deletions(-) diff --git a/dev-support/hbase-personality.sh b/dev-support/hbase-personality.sh index b0336458d0..2c6e4a8089 100755 --- a/dev-support/hbase-personality.sh +++ b/dev-support/hbase-personality.sh @@ -443,23 +443,32 @@ function hadoopcheck_rebuild # All supported Hadoop versions that we want to test the compilation with # See the Hadoop section on prereqs in the HBase Reference Guide - hbase_common_hadoop2_versions="2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 2.7.4" - if [[ "${PATCH_BRANCH}" = branch-1* ]]; then - yetus_info "Setting Hadoop versions to test based on branch-1-ish rules." + hbase_common_hadoop2_versions="2.7.1 2.7.2 2.7.3 2.7.4" + if [[ "${PATCH_BRANCH}" = branch-1.* ]] && [[ "${PATCH_BRANCH#branch-1.}" -lt "5" ]]; then + yetus_info "Setting Hadoop 2 versions to test based on before-branch-1.5 rules." if [[ "${QUICK_HADOOPCHECK}" == "true" ]]; then hbase_hadoop2_versions="2.4.1 2.5.2 2.6.5 2.7.4" else - hbase_hadoop2_versions="2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 ${hbase_common_hadoop2_versions}" + hbase_hadoop2_versions="2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 ${hbase_common_hadoop2_versions}" fi - hbase_hadoop3_versions="" - else # master or a feature branch - yetus_info "Setting Hadoop versions to test based on branch-2/master/feature branch rules." + elif [[ "${PATCH_BRANCH}" = branch-2.0 ]]; then + yetus_info "Setting Hadoop 2 versions to test based on branch-2.0 rules." if [[ "${QUICK_HADOOPCHECK}" == "true" ]]; then hbase_hadoop2_versions="2.6.5 2.7.4" else + hbase_hadoop2_versions="2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 ${hbase_common_hadoop2_versions}" + fi + else + yetus_info "Setting Hadoop 2 versions to test based on branch-1.5+/branch-2.1+/master/feature branch rules." + if [[ "${QUICK_HADOOPCHECK}" == "true" ]]; then + hbase_hadoop2_versions="2.7.4" + else hbase_hadoop2_versions="${hbase_common_hadoop2_versions}" fi - hbase_hadoop3_versions="3.0.0" + fi + hbase_hadoop3_versions="3.0.0" + if [[ "${PATCH_BRANCH}" = branch-1* ]]; then + hbase_hadoop3_versions="" fi export MAVEN_OPTS="${MAVEN_OPTS}" diff --git a/src/main/asciidoc/_chapters/configuration.adoc b/src/main/asciidoc/_chapters/configuration.adoc index 1be9e131eb..31250ff48a 100644 --- a/src/main/asciidoc/_chapters/configuration.adoc +++ b/src/main/asciidoc/_chapters/configuration.adoc @@ -217,20 +217,20 @@ Use the following legend to interpret this table: * "X" = not supported * "NT" = Not tested -[cols="1,1,1,1", options="header"] +[cols="1,1,1,1,1,1", options="header"] |=== -| | HBase-1.2.x | HBase-1.3.x | HBase-2.0.x -|Hadoop-2.4.x | S | S | X -|Hadoop-2.5.x | S | S | X -|Hadoop-2.6.0 | X | X | X -|Hadoop-2.6.1+ | S | S | S -|Hadoop-2.7.0 | X | X | X -|Hadoop-2.7.1+ | S | S | S -|Hadoop-2.8.[0-1] | X | X | X -|Hadoop-2.8.2 | NT | NT | NT -|Hadoop-2.8.3+ | NT | NT | S -|Hadoop-2.9.0 | X | X | X -|Hadoop-3.0.0 | NT | NT | NT +| | HBase-1.2.x | HBase-1.3.x | HBase-1.5.x | HBase-2.0.x | HBase-2.1.x +|Hadoop-2.4.x | S | S | X | X | X +|Hadoop-2.5.x | S | S | X | X | X +|Hadoop-2.6.0 | X | X | X | X | X +|Hadoop-2.6.1+ | S | S | X | S | X +|Hadoop-2.7.0 | X | X | X | X | X +|Hadoop-2.7.1+ | S | S | S | S | S +|Hadoop-2.8.[0-1] | X | X | X | X | X +|Hadoop-2.8.2 | NT | NT | NT | NT | NT +|Hadoop-2.8.3+ | NT | NT | NT | S | S +|Hadoop-2.9.0 | X | X | X | X | X +|Hadoop-3.0.0 | NT | NT | NT | NT | NT |=== .Hadoop Pre-2.6.1 and JDK 1.8 Kerberos diff --git a/src/main/asciidoc/_chapters/upgrading.adoc b/src/main/asciidoc/_chapters/upgrading.adoc index da4430a39a..6f0405d56c 100644 --- a/src/main/asciidoc/_chapters/upgrading.adoc +++ b/src/main/asciidoc/_chapters/upgrading.adoc @@ -86,8 +86,16 @@ for warning about incompatible changes). All effort will be made to provide a de * Example: Old compiled Coprocessor, Filter, or Plugin code will work unchanged with the new jars. .Dependency Compatibility -* An upgrade of HBase will not require an incompatible upgrade of a dependent project, including the Java runtime. -* Example: An upgrade of Hadoop will not invalidate any of the compatibilities guarantees we made. +* An upgrade of HBase will not require an incompatible upgrade of a dependent project, except for Apache Hadoop. +* An upgrade of HBase will not require an incompatible upgrade of the Java runtime. +* Example: Upgrading HBase to a version that supports _Dependency Compatibility_ won't require that you upgrade your Apache ZooKeeper service. +* Example: If your current version of HBase supported running on JDK 8, then an upgrade to a version that supports _Dependency Compatibility_ will also run on JDK 8. + +.Hadoop Versions +[TIP] +==== +Previously, we tried to maintain dependency compatibility for the underly Hadoop service but over the last few years this has proven untenable. While the HBase project attempts to maintain support for older versions of Hadoop, we drop the "supported" designator for minor versions that fail to continue to see releases. Additionally, the Hadoop project has its own set of compatibility guidelines, which means in some cases having to update to a newer supported minor release might break some of our compatibility promises. +==== .Operational Compatibility * Metric changes -- 2.11.4.GIT