diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveExternalCatalogVersionsSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveExternalCatalogVersionsSuite.scala index 684e4c53e4ef5..32f2c6d508d33 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveExternalCatalogVersionsSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveExternalCatalogVersionsSuite.scala @@ -96,7 +96,12 @@ class HiveExternalCatalogVersionsSuite extends SparkSubmitTestUtils { mirrors.distinct :+ "https://archive.apache.org/dist" :+ PROCESS_TABLES.releaseMirror logInfo(s"Trying to download Spark $version from $sites") for (site <- sites) { - val filename = s"spark-$version-bin-hadoop3-scala2.13.tgz" + val scalaVersion = version match { + case v if v.startsWith("3.") => "-scala2.13" + case v if v.startsWith("4.") => "" + case _ => fail(s"Spark version $version is unexpected") + } + val filename = s"spark-$version-bin-hadoop3$scalaVersion.tgz" val url = s"$site/spark/spark-$version/$filename" logInfo(s"Downloading Spark $version from $url") try { @@ -262,13 +267,13 @@ object PROCESS_TABLES extends QueryTest with SQLTestUtils { val testingVersions: Seq[String] = if (isPythonVersionAvailable && SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17)) { import scala.io.Source + val sparkVersionPattern = """""".r try Utils.tryWithResource( Source.fromURL(s"$releaseMirror/spark")) { source => source.mkString .split("\n") - .filter(_.contains("""""".r.findFirstMatchIn(_).get.group(1)) + .filter(sparkVersionPattern.unanchored.matches(_)) + .map(sparkVersionPattern.findFirstMatchIn(_).get.group(1)) .filter(_ < org.apache.spark.SPARK_VERSION) .filterNot(skipReleaseVersions.contains).toImmutableArraySeq } catch {