11#! /bin/bash
22#
3- # Copyright (c) 2020-2025 , NVIDIA CORPORATION. All rights reserved.
3+ # Copyright (c) 2020-2026 , NVIDIA CORPORATION. All rights reserved.
44#
55# Licensed under the Apache License, Version 2.0 (the "License");
66# you may not use this file except in compliance with the License.
@@ -63,6 +63,21 @@ source jenkins/databricks/setup.sh
6363source jenkins/databricks/common_vars.sh
6464
6565BASE_SPARK_VERSION=${BASE_SPARK_VERSION:- $(< / databricks/ spark/ VERSION)}
66+
67+ # For Spark 4.x (Scala 2.13), the upstream base shim is 350 (Spark 3.5.0).
68+ # For Spark 3.x (Scala 2.12), the upstream base shim is 330 (Spark 3.3.0).
69+ if [[ " $BASE_SPARK_VERSION " == 4.* ]]; then
70+ # TODO: Revisit UPSTREAM_SHIM_VER when new Spark 4.x Databricks runtimes are introduced
71+ # that may pair with a different upstream shim (e.g., spark360).
72+ UPSTREAM_SPARK_VERSION=" 3.5.0"
73+ UPSTREAM_SHIM_VER=" spark350"
74+ UPSTREAM_SPARK_SCALA_SUFFIX=" -scala2.13"
75+ else
76+ UPSTREAM_SPARK_VERSION=" 3.3.0"
77+ UPSTREAM_SHIM_VER=" spark330"
78+ UPSTREAM_SPARK_SCALA_SUFFIX=" "
79+ fi
80+
6681WITH_DEFAULT_UPSTREAM_SHIM=${WITH_DEFAULT_UPSTREAM_SHIM:- 1}
6782
6883IS_SPARK_321_OR_LATER=0
@@ -93,12 +108,12 @@ run_pyarrow_tests() {
93108if [[ $TEST_MODE == " DEFAULT" || $TEST_MODE == " CI_PART1" ]]; then
94109 # Run two-shim smoke test with the base Spark build
95110 if [[ " $WITH_DEFAULT_UPSTREAM_SHIM " != " 0" ]]; then
96- if [[ ! -d $HOME /spark-3.3.0 -bin-hadoop3 ]]; then
111+ if [[ ! -d $HOME /spark-${UPSTREAM_SPARK_VERSION} -bin-hadoop3${UPSTREAM_SPARK_SCALA_SUFFIX} ]]; then
97112 # DBFS cache for Spark
98113 DBFS_CACHE_DIR=${DBFS_CACHE_DIR:- " /dbfs/cached_jars" }
99- JAR_FILE_NAME=${JAR_FILE_NAME:- " spark-3.3.0 -bin-hadoop3.tgz" }
114+ JAR_FILE_NAME=${JAR_FILE_NAME:- " spark-${UPSTREAM_SPARK_VERSION} -bin-hadoop3${UPSTREAM_SPARK_SCALA_SUFFIX} .tgz" }
100115 SPARK_CACHE_FILE=${SPARK_CACHE_FILE:- " $DBFS_CACHE_DIR /$JAR_FILE_NAME " }
101- SPARK_URL=${SPARK_URL:- " https://archive.apache.org/dist/spark/spark-3.3.0 /$JAR_FILE_NAME " }
116+ SPARK_URL=${SPARK_URL:- " https://archive.apache.org/dist/spark/spark-${UPSTREAM_SPARK_VERSION} /$JAR_FILE_NAME " }
102117 # Create cache directory if it doesn't exist
103118 mkdir -p " $DBFS_CACHE_DIR "
104119 # Check if file exists in DBFS cache
@@ -118,9 +133,9 @@ if [[ $TEST_MODE == "DEFAULT" || $TEST_MODE == "CI_PART1" ]]; then
118133 tar xf " /tmp/$JAR_FILE_NAME " -C $HOME
119134 rm -f " /tmp/$JAR_FILE_NAME "
120135 fi
121- SPARK_HOME=$HOME /spark-3.3.0 -bin-hadoop3 \
136+ SPARK_HOME=$HOME /spark-${UPSTREAM_SPARK_VERSION} -bin-hadoop3${UPSTREAM_SPARK_SCALA_SUFFIX} \
122137 SPARK_SHELL_SMOKE_TEST=1 \
123- PYSP_TEST_spark_shuffle_manager=com.nvidia.spark.rapids.spark330 .RapidsShuffleManager \
138+ PYSP_TEST_spark_shuffle_manager=com.nvidia.spark.rapids.${UPSTREAM_SHIM_VER} .RapidsShuffleManager \
124139 bash integration_tests/run_pyspark_from_build.sh
125140 fi
126141 bash integration_tests/run_pyspark_from_build.sh --runtime_env=" databricks" --test_type=$TEST_TYPE
0 commit comments