This is an automated email from the ASF dual-hosted git repository.

elserj pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 99a40dd  HBASE-24280 Skip explicit hadoop3 profile activation on master
99a40dd is described below

commit 99a40ddacf19f7ae9d89cdc4778384ffd6a0e394
Author: Josh Elser <els...@apache.org>
AuthorDate: Fri May 1 18:18:06 2020 -0400

    HBASE-24280 Skip explicit hadoop3 profile activation on master
    
    On 2.x branches, we need to explicitly activate profiles for H3. On
    master, all H2 support is dropped which means no special profiles are
    required for H3 (though, there is still a profile there to encapsulate
    H3 logic).
    
    We need to make sure that the yetus invocation can correctly pass down
    any profile information into the personality, so we activate the exact
    profiles we want.
    
    Closes #1609
    
    Co-authored-by: Istvan Toth <st...@cloudera.com>
    Signed-off-by: stack <st...@apache.org>
---
 dev-support/hbase-personality.sh              | 20 +++++++++++++++-----
 dev-support/hbase_nightly_yetus.sh            |  6 +++++-
 dev-support/jenkins_precommit_github_yetus.sh |  6 +++++-
 3 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/dev-support/hbase-personality.sh b/dev-support/hbase-personality.sh
index 735e133..8ed1a83 100755
--- a/dev-support/hbase-personality.sh
+++ b/dev-support/hbase-personality.sh
@@ -145,8 +145,11 @@ function personality_modules
     extra="${extra} -Dhttps.protocols=TLSv1.2"
   fi
 
-  if [[ -n "${HADOOP_PROFILE}" ]]; then
-    extra="${extra} -Phadoop-${HADOOP_PROFILE}"
+  # If we have HADOOP_PROFILE specified and we're on branch-2.x, pass along
+  # the hadoop.profile system property. Ensures that Hadoop2 and Hadoop3
+  # logic is not both activated within Maven.
+  if [[ -n "${HADOOP_PROFILE}" ]] && [[ "${PATCH_BRANCH}" =~ branch-2* ]] ; 
then
+    extra="${extra} -Dhadoop.profile=${HADOOP_PROFILE}"
   fi
 
   # BUILDMODE value is 'full' when there is no patch to be tested, and we are 
running checks on
@@ -458,8 +461,11 @@ function shadedjars_rebuild
     '-pl' 'hbase-shaded/hbase-shaded-check-invariants' '-am'
     '-Dtest=NoUnitTests' '-DHBasePatchProcess' '-Prelease'
     '-Dmaven.javadoc.skip=true' '-Dcheckstyle.skip=true' 
'-Dspotbugs.skip=true')
-  if [[ -n "${HADOOP_PROFILE}" ]]; then
-    maven_args+=("-Phadoop-${HADOOP_PROFILE}")
+  # If we have HADOOP_PROFILE specified and we're on branch-2.x, pass along
+  # the hadoop.profile system property. Ensures that Hadoop2 and Hadoop3
+  # logic is not both activated within Maven.
+  if [[ -n "${HADOOP_PROFILE}" ]] && [[ "${PATCH_BRANCH}" =~ branch-2* ]] ; 
then
+    maven_args+=("-Dhadoop.profile=${HADOOP_PROFILE}")
   fi
 
   # disabled because "maven_executor" needs to return both command and args
@@ -636,6 +642,10 @@ function hadoopcheck_rebuild
     fi
   done
 
+  hadoop_profile=""
+  if [[ "${PATCH_BRANCH}" =~ branch-2* ]]; then
+    hadoop_profile="-Dhadoop.profile=3.0"
+  fi
   for hadoopver in ${hbase_hadoop3_versions}; do
     logfile="${PATCH_DIR}/patch-javac-${hadoopver}.txt"
     # disabled because "maven_executor" needs to return both command and args
@@ -644,7 +654,7 @@ function hadoopcheck_rebuild
       $(maven_executor) clean install \
         -DskipTests -DHBasePatchProcess \
         -Dhadoop-three.version="${hadoopver}" \
-        -Phadoop-3.0
+        ${hadoop_profile}
     count=$(${GREP} -c '\[ERROR\]' "${logfile}")
     if [[ ${count} -gt 0 ]]; then
       add_vote_table -1 hadoopcheck "${BUILDMODEMSG} causes ${count} errors 
with Hadoop v${hadoopver}."
diff --git a/dev-support/hbase_nightly_yetus.sh 
b/dev-support/hbase_nightly_yetus.sh
index ef91f20..65b5270 100755
--- a/dev-support/hbase_nightly_yetus.sh
+++ b/dev-support/hbase_nightly_yetus.sh
@@ -76,7 +76,11 @@ fi
 
 # For testing with specific hadoop version. Activates corresponding profile in 
maven runs.
 if [[ -n "${HADOOP_PROFILE}" ]]; then
-  YETUS_ARGS=("--hadoop-profile=${HADOOP_PROFILE}" "${YETUS_ARGS[@]}")
+  # Master has only Hadoop3 support. We don't need to activate any profile.
+  # The Jenkinsfile should not attempt to run any Hadoop2 tests.
+  if [[ "${BRANCH_NAME}" =~ branch-2* ]]; then
+    YETUS_ARGS=("--hadoop-profile=${HADOOP_PROFILE}" "${YETUS_ARGS[@]}")
+  fi
 fi
 
 if [[ -n "${SKIP_ERROR_PRONE}" ]]; then
diff --git a/dev-support/jenkins_precommit_github_yetus.sh 
b/dev-support/jenkins_precommit_github_yetus.sh
index bc7221b..1c489d6 100755
--- a/dev-support/jenkins_precommit_github_yetus.sh
+++ b/dev-support/jenkins_precommit_github_yetus.sh
@@ -127,7 +127,11 @@ YETUS_ARGS+=("--skip-errorprone")
 YETUS_ARGS+=("--skip-dirs=dev-support")
 # For testing with specific hadoop version. Activates corresponding profile in 
maven runs.
 if [[ -n "${HADOOP_PROFILE}" ]]; then
-  YETUS_ARGS+=("--hadoop-profile=${HADOOP_PROFILE}")
+  # Master has only Hadoop3 support. We don't need to activate any profile.
+  # The Jenkinsfile should not attempt to run any Hadoop2 tests.
+  if [[ "${BRANCH_NAME}" =~ branch-2* ]]; then
+    YETUS_ARGS+=("--hadoop-profile=${HADOOP_PROFILE}")
+  fi
 fi
 if [[ -n "${EXCLUDE_TESTS_URL}" ]]; then
   YETUS_ARGS+=("--exclude-tests-url=${EXCLUDE_TESTS_URL}")

Reply via email to