From 2bdb574b4bd85257dc6dc7ab20ade581d1c991fc Mon Sep 17 00:00:00 2001
From: David Li
Date: Wed, 21 Oct 2026 12:16:18 +0900
Subject: [PATCH 1/4] chore(dev/release): fix verification issues
---
ci/conda_env_python.txt | 1 +
dev/release/verify-release-candidate.sh | 1 +
2 files changed, 2 insertions(+)
diff --git a/ci/conda_env_python.txt b/ci/conda_env_python.txt
index 122f159ab9..787ef1b5ac 100644
--- a/ci/conda_env_python.txt
+++ b/ci/conda_env_python.txt
@@ -16,6 +16,7 @@
# under the License.
cython
+libpython
# nodejs is required by pyright
nodejs >=13.0.0
pandas
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index d08a1f1014..14b64cc7e9 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -838,6 +838,7 @@ test_unix_wheels() {
adbc_*-cp${pyver/.}-cp${python/.}-${platform}*${arch}*.whl \
adbc_*-py3-none-${platform}*${arch}*.whl
${ADBC_DIR}/ci/scripts/python_wheel_unix_test.sh ${ADBC_DIR}
+ unset PYTHON_GIL
done
}
From 4187128bfa213f50b76d8a8408cd23352e73eafa Mon Sep 17 00:00:00 2001
From: David Li
Date: Wed, 21 Oct 2026 12:36:05 +0900
Subject: [PATCH 2/4] fix
---
dev/release/verify-release-candidate.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index 14b64cc7e9..f75d98a7a9 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -953,7 +953,14 @@ print(version.text)
"-Djavadoc=${javadoc_path}"
done
+ local test_arguments=()
+ if [[ "$(uname)" == "Darwin" && "$(uname -m)" == "x86_64" ]]; then
+ show_info "Skipping testDriverJni: JNI binaries are not available for macOS/x86_64"
+ test_arguments+=('-Dtest=!VerifyReleaseCandidateTest#testDriverJni')
+ fi
+
mvn -B test \
+ "${test_arguments[@]}" \
"${maven_repository_argument}" \
"-Dadbc.version=${java_version}" \
-f "${SOURCE_DIR}/verify/java/pom.xml"
From 97957b942fa28c50f1b7ed13221332ca6f0bdbd9 Mon Sep 17 00:00:00 2001
From: David Li
Date: Wed, 21 Oct 2026 14:14:14 +0900
Subject: [PATCH 3/4] get maven to retry
---
dev/release/verify-release-candidate.sh | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index f75d98a7a9..1737ce8726 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -914,11 +914,19 @@ print(version.text)
show_info "ADBC Java version: ${java_version}"
local -r maven_repository="${ARROW_TMPDIR}/maven-repository"
- local -r maven_repository_argument="-Dmaven.repo.local=${maven_repository}"
+ local -r maven_arguments=(
+ -B
+ -e
+ "-Dmaven.repo.local=${maven_repository}"
+ # Retry transient download failures in Maven's native HTTP transport.
+ -Dmaven.resolver.transport=native
+ -Daether.connector.http.retryHandler.count=5
+ -Daether.connector.http.retryHandler.interval=5000
+ -Daether.connector.http.retryHandler.serviceUnavailable=429,500,502,503,504
+ )
mkdir -p "${maven_repository}"
- mvn -B install:install-file \
- "${maven_repository_argument}" \
+ mvn "${maven_arguments[@]}" install:install-file \
"-Dfile=${root_pom}" \
"-DpomFile=${root_pom}" \
-Dpackaging=pom
@@ -945,8 +953,7 @@ print(version.text)
fi
done
- mvn -B install:install-file \
- "${maven_repository_argument}" \
+ mvn "${maven_arguments[@]}" install:install-file \
"-Dfile=${jar_path}" \
"-DpomFile=${pom_path}" \
"-Dsources=${sources_path}" \
@@ -959,9 +966,8 @@ print(version.text)
test_arguments+=('-Dtest=!VerifyReleaseCandidateTest#testDriverJni')
fi
- mvn -B test \
+ mvn "${maven_arguments[@]}" test \
"${test_arguments[@]}" \
- "${maven_repository_argument}" \
"-Dadbc.version=${java_version}" \
-f "${SOURCE_DIR}/verify/java/pom.xml"
}
From 64469c5cdcbcc54254b5b6b935624a3f69ff25ad Mon Sep 17 00:00:00 2001
From: David Li
Date: Wed, 21 Oct 2026 15:02:15 +0900
Subject: [PATCH 4/4] more retry
---
dev/release/verify-release-candidate.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index 1737ce8726..3c8e123f28 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -888,7 +888,7 @@ test_wheels() {
test_jars() {
show_header "Testing Java jars"
- maybe_setup_conda maven python || exit 1
+ maybe_setup_conda maven openjdk=17 python || exit 1
local root_poms=()
shopt -s nullglob
@@ -917,12 +917,18 @@ print(version.text)
local -r maven_arguments=(
-B
-e
+ # Recheck missing artifacts instead of reusing cached resolution failures.
+ -U
"-Dmaven.repo.local=${maven_repository}"
# Retry transient download failures in Maven's native HTTP transport.
-Dmaven.resolver.transport=native
-Daether.connector.http.retryHandler.count=5
-Daether.connector.http.retryHandler.interval=5000
-Daether.connector.http.retryHandler.serviceUnavailable=429,500,502,503,504
+ # Maven 3.10+ uses Resolver 2, which renamed the HTTP transport properties.
+ -Daether.transport.http.retryHandler.count=5
+ -Daether.transport.http.retryHandler.interval=5000
+ -Daether.transport.http.retryHandler.serviceUnavailable=429,500,502,503,504
)
mkdir -p "${maven_repository}"