apache/iceberg · error · GradleException

Found unsupported Spark versions:

Error message

Found unsupported Spark versions: 

What it means

settings.gradle validates requested Spark versions against knownSparkVersions. Any requested version (from -DsparkVersions or the default) missing from the known list throws this GradleException listing the unsupported versions, preventing configuration of Spark modules Iceberg cannot build.

Solutions

  1. Use only versions listed in knownSparkVersions (see gradle.properties).
  2. Omit -DsparkVersions to build with defaultSparkVersions.
  3. To add a new Spark version intentionally, add it to knownSparkVersions, the spark module settings, and the version catalog.
  4. Correct typos in the version list.

Example fix

// before
./gradlew build -DsparkVersions=3.1
// after
./gradlew build -DsparkVersions=3.4,3.5
Defensive patterns

Strategy: validation

Validate before calling

KNOWN=$(grep knownSparkVersions gradle.properties | cut -d= -f2); for v in $(echo $SPARK_VERSIONS | tr ',' ' '); do [[ ",$KNOWN," == *",$v,"* ]] || echo "Unsupported Spark: $v"; done

Prevention

When it happens

Trigger: Running Gradle with -DsparkVersions=2.4 (or any version not in knownSparkVersions); also triggered when gradle.properties' knownSparkVersions was not updated alongside defaultSparkVersions.

Common situations: Building an older Iceberg release with flags for a newer Spark; requesting a Spark version the branch predates; typos such as '3,5' instead of '3.5'.

Understand the failure class

Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.

Related errors


AI-assisted analysis of apache/iceberg@86d9c8fc54 (2026-09-12). Data as JSON: /api/errors/2277833aa5c51b27. Report an issue: GitHub.

Appendix: source

Thrown at settings.gradle:92

  System.setProperty("flinkVersions", System.getProperty("knownFlinkVersions"))
  System.setProperty("sparkVersions", System.getProperty("knownSparkVersions"))
  System.setProperty("kafkaVersions", System.getProperty("knownKafkaVersions"))
}

List<String> knownFlinkVersions = System.getProperty("knownFlinkVersions").split(",")
String flinkVersionsString = System.getProperty("flinkVersions") != null ? System.getProperty("flinkVersions") : System.getProperty("defaultFlinkVersions")
List<String> flinkVersions = flinkVersionsString != null && !flinkVersionsString.isEmpty() ? flinkVersionsString.split(",") : []

if (!knownFlinkVersions.containsAll(flinkVersions)) {
  throw new GradleException("Found unsupported Flink versions: " + (flinkVersions - knownFlinkVersions))
}

List<String> knownSparkVersions = System.getProperty("knownSparkVersions").split(",")
String sparkVersionsString = System.getProperty("sparkVersions") != null ? System.getProperty("sparkVersions") : System.getProperty("defaultSparkVersions")
List<String> sparkVersions = sparkVersionsString != null && !sparkVersionsString.isEmpty() ? sparkVersionsString.split(",") : []

if (!knownSparkVersions.containsAll(sparkVersions)) {
  throw new GradleException("Found unsupported Spark versions: " + (sparkVersions - knownSparkVersions))
}

List<String> knownKafkaVersions = System.getProperty("knownKafkaVersions").split(",")
String kafkaVersionsString = System.getProperty("kafkaVersions") != null ? System.getProperty("kafkaVersions") : System.getProperty("defaultKafkaVersions")
List<String> kafkaVersions = kafkaVersionsString != null && !kafkaVersionsString.isEmpty() ? kafkaVersionsString.split(",") : []

if (!knownKafkaVersions.containsAll(kafkaVersions)) {
  throw new GradleException("Found unsupported Kafka versions: " + (kafkaVersions - knownKafkaVersions))
}

List<String> knownScalaVersions = System.getProperty("knownScalaVersions").split(",")
String scalaVersion = System.getProperty("scalaVersion") != null ? System.getProperty("scalaVersion") : System.getProperty("defaultScalaVersion")

if (!knownScalaVersions.contains(scalaVersion)) {
  throw new GradleException("Found unsupported Scala version: " + scalaVersion)
}

if (!flinkVersions.isEmpty()) {

View on GitHub (pinned to 86d9c8fc54)