You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2024/01/27 15:15:55 UTC
(hbase) 01/01: HBASE-28331 Client integration test fails after upgrading hadoop3 version to 3.3.x
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch HBASE-28331-jenkins
in repository https://gitbox.apache.org/repos/asf/hbase.git
commit c34d4bf0777d05aff3df0c6d2e59ba59aeb94f7c
Author: Duo Zhang <zh...@apache.org>
AuthorDate: Sat Jan 27 22:45:31 2024 +0800
HBASE-28331 Client integration test fails after upgrading hadoop3 version to 3.3.x
Patch hadoop 3.3.x to make minicluster work again
---
dev-support/Jenkinsfile | 2 ++
dev-support/patch-hadoop3.sh | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index e9949f76e15..d8e00a489c5 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -735,6 +735,8 @@ pipeline {
echo "Attempting to use run an instance on top of Hadoop 3."
artifact=$(ls -1 "${WORKSPACE}"/hadoop-3*.tar.gz | head -n 1)
tar --strip-components=1 -xzf "${artifact}" -C "hadoop-3"
+ # we need to patch some files otherwise minicluster will fail to start, see MAPREDUCE-7471
+ ${BASEDIR}/dev-support/patch-hadoop3.sh hadoop-3
if ! "${BASEDIR}/dev-support/hbase_nightly_pseudo-distributed-test.sh" \
--single-process \
--working-dir output-integration/hadoop-3 \
diff --git a/dev-support/patch-hadoop3.sh b/dev-support/patch-hadoop3.sh
new file mode 100755
index 00000000000..a5302c4c7a1
--- /dev/null
+++ b/dev-support/patch-hadoop3.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+##
+# 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.
+##
+
+hadoop_dir=$1
+
+sed -i "s/HADOOP_TOOLS_DIR=\${HADOOP_TOOLS_DIR:-\"share\/hadoop\/tools\"}/HADOOP_TOOLS_DIR=\${HADOOP_TOOLS_DIR:-\"\$HADOOP_TOOLS_HOME\/share\/hadoop\/tools\"}/g" $1/libexec/hadoop-functions.sh
+sed -i "/hadoop_add_classpath \"\${junitjar}\"/a mockitojar=\$(echo \"\${HADOOP_TOOLS_LIB_JARS_DIR}\"\/mockito-core-[0-9]*.jar)\nhadoop_add_classpath \"\${mockitojar}\"" $1/bin/mapred
+curl https://repo1.maven.org/maven2/org/mockito/mockito-core/2.28.2/mockito-core-2.28.2.jar -o $1/share/hadoop/tools/lib/mockito-core-2.28.2.jar