Skip to content

Commit e5bf595

Browse files
fix ci
1 parent 5d13cad commit e5bf595

4 files changed

Lines changed: 59 additions & 26 deletions

File tree

.github/workflows/pxf-ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -364,8 +364,8 @@ jobs:
364364
FAILED_COUNT="${{ steps.collect_artifacts.outputs.failed_count || 0 }}"
365365
SKIPPED_COUNT="${{ steps.collect_artifacts.outputs.skipped_count || 0 }}"
366366
367-
if [ "${{ steps.run_test.outcome }}" == "failure" ] || [ "$FAILED_COUNT" -gt 0 ]; then
368-
echo "Test group ${{ matrix.test_group }} failed (Failures: $FAILED_COUNT, Skipped: $SKIPPED_COUNT)"
367+
if [ "${{ steps.run_test.outcome }}" == "failure" ] || [ "${{ steps.run_test.outcome }}" == "skipped" ] || [ "$FAILED_COUNT" -gt 0 ]; then
368+
echo "Test group ${{ matrix.test_group }} failed (outcome: ${{ steps.run_test.outcome }}, Failures: $FAILED_COUNT, Skipped: $SKIPPED_COUNT)"
369369
exit 1
370370
fi
371371
@@ -536,8 +536,8 @@ jobs:
536536
FAILED_COUNT="${{ steps.collect_artifacts.outputs.failed_count || 0 }}"
537537
SKIPPED_COUNT="${{ steps.collect_artifacts.outputs.skipped_count || 0 }}"
538538
539-
if [ "${{ steps.run_test.outcome }}" == "failure" ] || [ "$FAILED_COUNT" -gt 0 ]; then
540-
echo "Test group ${{ matrix.test_group }} (Rocky 9) failed (Failures: $FAILED_COUNT, Skipped: $SKIPPED_COUNT)"
539+
if [ "${{ steps.run_test.outcome }}" == "failure" ] || [ "${{ steps.run_test.outcome }}" == "skipped" ] || [ "$FAILED_COUNT" -gt 0 ]; then
540+
echo "Test group ${{ matrix.test_group }} (Rocky 9) failed (outcome: ${{ steps.run_test.outcome }}, Failures: $FAILED_COUNT, Skipped: $SKIPPED_COUNT)"
541541
exit 1
542542
fi
543543

ci/docker/pxf-cbdb-dev/common/script/entrypoint.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,17 @@ wait_for_datanode() {
429429
log "Attempting to restart DataNode..."
430430
# Stop any zombie DataNode processes
431431
pkill -f "proc_datanode" 2>/dev/null || true
432+
pkill -f "datanode" 2>/dev/null || true
433+
sleep 2
434+
# Kill any process still holding DataNode ports (50010/50020/50075)
435+
for port in 50010 50020 50075; do
436+
local pid
437+
pid=$(ss -tlnp "sport = :${port}" 2>/dev/null | grep -oP 'pid=\K[0-9]+' | head -1)
438+
if [ -n "${pid}" ]; then
439+
log "Killing process ${pid} holding port ${port}"
440+
kill -9 "${pid}" 2>/dev/null || true
441+
fi
442+
done
432443
sleep 2
433444
# Restart DataNode via the singlecluster script
434445
"${GPHD_ROOT}/bin/hadoop-datanode.sh" start 0 2>&1 || true

ci/singlecluster/Dockerfile

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,8 @@ ENV ZOOKEEPER_SHA512="0e5a64713abc6f36d961dd61a06f681868171a9d9228366e512a013248
5050
ENV HBASE_SHA512="1032521025660daa70260cdc931f52a26c87596be444451fe1fa88b526ede55e9d6b4220e91ff6f7422bec11f30d64fa6745e95a9c36971fdb1a264a2c745693"
5151
ENV TEZ_SHA512="a2d94bd9fa778d42a8bac9d9da8e263e469ddfef93968b06434716554995f490231de5607541ac236e770aa0158b64250c38bc1cd57dbfa629fea705f2ffa2f5"
5252

53-
# faster mirror:
54-
ENV APACHE_MIRROR="repo.huaweicloud.com/apache"
55-
#ENV APACHE_MIRROR="archive.apache.org/dist/"
56-
#ENV APACHE_MIRROR="mirror.yandex.ru/mirrors/apache/"
57-
58-
ENV HADOOP_URL="https://$APACHE_MIRROR/hadoop/common/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz"
59-
ENV HIVE_URL="https://$APACHE_MIRROR/hive/hive-$HIVE_VERSION/apache-hive-$HIVE_VERSION-bin.tar.gz"
60-
ENV ZOOKEEPER_URL="https://$APACHE_MIRROR/zookeeper/zookeeper-$ZOOKEEPER_VERSION/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz"
61-
ENV HBASE_URL="https://$APACHE_MIRROR/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz"
62-
ENV TEZ_URL="https://$APACHE_MIRROR/tez/$TEZ_VERSION/apache-tez-$TEZ_VERSION-bin.tar.gz"
53+
# Mirror list: try fast mirrors first, fall back to official archive
54+
ENV APACHE_MIRRORS="repo.huaweicloud.com/apache archive.apache.org/dist"
6355

6456
ENV GPHD_ROOT=/home/gpadmin/workspace/singlecluster
6557
ENV HADOOP_ROOT=$GPHD_ROOT/hadoop
@@ -68,34 +60,54 @@ ENV HIVE_ROOT=$GPHD_ROOT/hive
6860
ENV ZOOKEEPER_ROOT=$GPHD_ROOT/zookeeper
6961
ENV TEZ_ROOT=$GPHD_ROOT/tez
7062

63+
# Helper: download from first working mirror with retry
64+
# Usage: apache_download <relative_path> <output_file>
65+
RUN cat > /usr/local/bin/apache_download.sh <<'DLEOF' && chmod +x /usr/local/bin/apache_download.sh
66+
#!/bin/bash
67+
set -e
68+
rel_path="$1"; output="$2"
69+
for mirror in $APACHE_MIRRORS; do
70+
url="https://${mirror}/${rel_path}"
71+
echo "Trying: $url"
72+
if curl -fSL --retry 2 --retry-delay 3 --connect-timeout 15 "$url" -o "$output" 2>&1; then
73+
echo "Downloaded from $mirror"
74+
exit 0
75+
fi
76+
echo "Failed from $mirror, trying next..."
77+
rm -f "$output"
78+
done
79+
echo "ERROR: all mirrors failed for $rel_path"
80+
exit 1
81+
DLEOF
82+
7183
RUN mkdir -p $HADOOP_ROOT && \
72-
curl -fSL "$HADOOP_URL" -o /tmp/hadoop.tar.gz && \
84+
apache_download.sh "hadoop/common/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz" /tmp/hadoop.tar.gz && \
7385
echo "$HADOOP_SHA512 /tmp/hadoop.tar.gz" | sha512sum -c && \
7486
tar xvf /tmp/hadoop.tar.gz -C $HADOOP_ROOT --strip-components 1 --exclude="share/doc/*" --exclude="*-sources.jar" && \
7587
rm /tmp/hadoop.tar.gz && \
76-
curl -fSL "https://repo1.maven.org/maven2/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar" \
88+
curl -fSL --retry 2 "https://repo1.maven.org/maven2/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar" \
7789
-o $HADOOP_ROOT/share/hadoop/common/lib/javax.activation-api-1.2.0.jar
7890

7991
RUN mkdir -p $HIVE_ROOT && \
80-
curl -fSL $HIVE_URL -o /tmp/hive.tar.gz && \
92+
apache_download.sh "hive/hive-$HIVE_VERSION/apache-hive-$HIVE_VERSION-bin.tar.gz" /tmp/hive.tar.gz && \
8193
echo "$HIVE_SHA256 /tmp/hive.tar.gz" | sha256sum -c && \
8294
tar xvf /tmp/hive.tar.gz -C $HIVE_ROOT --strip-components 1 && \
8395
rm /tmp/hive.tar.gz
8496

8597
RUN mkdir -p $ZOOKEEPER_ROOT && \
86-
curl -fSL $ZOOKEEPER_URL -o /tmp/zookeeper.tar.gz && \
98+
apache_download.sh "zookeeper/zookeeper-$ZOOKEEPER_VERSION/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz" /tmp/zookeeper.tar.gz && \
8799
echo "$ZOOKEEPER_SHA512 /tmp/zookeeper.tar.gz" | sha512sum -c && \
88100
tar xvf /tmp/zookeeper.tar.gz -C $ZOOKEEPER_ROOT --strip-components 1 --exclude="docs/*" && \
89101
rm /tmp/zookeeper.tar.gz
90102

91103
RUN mkdir -p $HBASE_ROOT && \
92-
curl -fSL "$HBASE_URL" -o /tmp/hbase.tar.gz && \
104+
apache_download.sh "hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz" /tmp/hbase.tar.gz && \
93105
echo "$HBASE_SHA512 /tmp/hbase.tar.gz" | sha512sum -c && \
94106
tar xvf /tmp/hbase.tar.gz -C $HBASE_ROOT --strip-components 1 --exclude="docs/*" --exclude="lib/*-tests.jar" --exclude="lib/shaded-clients" && \
95107
rm /tmp/hbase.tar.gz
96108

97109
RUN mkdir -p $TEZ_ROOT && \
98-
curl -fSL "$TEZ_URL" -o /tmp/tez.tar.gz && \
110+
apache_download.sh "tez/$TEZ_VERSION/apache-tez-$TEZ_VERSION-bin.tar.gz" /tmp/tez.tar.gz && \
99111
echo "$TEZ_SHA512 /tmp/tez.tar.gz" | sha512sum -c && \
100112
tar xvf /tmp/tez.tar.gz -C $TEZ_ROOT --strip-components 1 && \
101113
rm /tmp/tez.tar.gz

server/gradlew-install.sh

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,23 @@ if [ ! -e "${GRADLE_WRAPPER_JAR}" ]; then
5858
# The Gradle version extracted from the `distributionUrl` property does not contain ".0" patch
5959
# versions. Need to append a ".0" in that case to download the wrapper jar.
6060
GRADLE_VERSION="$(echo "$GRADLE_DIST_VERSION" | sed 's/^\([0-9]*[.][0-9]*\)$/\1.0/')"
61-
curl --location --output "${GRADLE_WRAPPER_JAR}" https://raw.githubusercontent.com/gradle/gradle/v${GRADLE_VERSION}/gradle/wrapper/gradle-wrapper.jar || exit 1
62-
JAR_CHECKSUM="$(${SHASUM} "${GRADLE_WRAPPER_JAR}" | cut -d\ -f1)"
6361
EXPECTED="$(cat "${GRADLE_WRAPPER_SHA256}")"
64-
if [ "${JAR_CHECKSUM}" != "${EXPECTED}" ]; then
65-
# If the (just downloaded) checksum and the downloaded wrapper jar do not match, something
66-
# really bad is going on.
62+
MAX_RETRIES=3
63+
for _retry in $(seq 1 ${MAX_RETRIES}); do
64+
curl --location --fail --output "${GRADLE_WRAPPER_JAR}" https://raw.githubusercontent.com/gradle/gradle/v${GRADLE_VERSION}/gradle/wrapper/gradle-wrapper.jar || {
65+
echo "Download attempt ${_retry}/${MAX_RETRIES} failed (curl error)" > /dev/stderr
66+
rm -f "${GRADLE_WRAPPER_JAR}"
67+
if [ "${_retry}" -lt "${MAX_RETRIES}" ]; then sleep 5; continue; fi
68+
exit 1
69+
}
70+
JAR_CHECKSUM="$(${SHASUM} "${GRADLE_WRAPPER_JAR}" | cut -d\ -f1)"
71+
if [ "${JAR_CHECKSUM}" = "${EXPECTED}" ]; then
72+
break
73+
fi
74+
echo "SHA256 mismatch on attempt ${_retry}/${MAX_RETRIES} (got ${JAR_CHECKSUM}, expected ${EXPECTED})" > /dev/stderr
75+
rm -f "${GRADLE_WRAPPER_JAR}"
76+
if [ "${_retry}" -lt "${MAX_RETRIES}" ]; then sleep 5; continue; fi
6777
echo "Expected sha256 of the downloaded gradle-wrapper.jar does not match the downloaded sha256!" > /dev/stderr
6878
exit 1
69-
fi
79+
done
7080
fi

0 commit comments

Comments
 (0)