apache/iceberg · error · GradleException
Found unsupported Kafka versions:
Error message
Found unsupported Kafka versions:
What it means
settings.gradle validates requested Kafka versions against knownKafkaVersions. Any requested version (from -DkafkaVersions or the default) absent from the known list throws this GradleException listing the unsupported versions, blocking configuration of unsupported iceberg-kafka modules.
Solutions
- Use only versions listed in knownKafkaVersions (see gradle.properties).
- Omit -DkafkaVersions to use defaultKafkaVersions.
- If adding a new Kafka version intentionally, extend knownKafkaVersions and the corresponding build config.
- Fix typos in the version string.
Example fix
// before ./gradlew build -DkafkaVersions=0.10 // after ./gradlew build -DkafkaVersions=3.7
Defensive patterns
Strategy: validation
Validate before calling
KNOWN=$(grep knownKafkaVersions gradle.properties | cut -d= -f2); for v in $(echo $KAFKA_VERSIONS | tr ',' ' '); do [[ ",$KNOWN," == *",$v,"* ]] || echo "Unsupported Kafka: $v"; done
Prevention
- Only pass -DkafkaVersions with versions listed in gradle.properties.
- Use exact version strings matching the known list (avoid patch-level surprises).
- Omit the property for standard builds.
When it happens
Trigger: Running Gradle with -DkafkaVersions=2.x (or another version not in knownKafkaVersions); misconfigured knownKafkaVersions in gradle.properties.
Common situations: Requesting an EOL Kafka version removed from the build; copying build flags from an older Iceberg branch; typos like '3.6.0' when only '3.6' is known.
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
- Found unsupported Flink versions:
- Found unsupported Scala version:
- Found unsupported Spark versions:
- Cannot assume role to sign REST requests because is not…
- Cannot clean files incrementally when snapshot IDs are…
AI-assisted analysis of apache/iceberg@86d9c8fc54 (2026-09-12).
Data as JSON: /api/errors/6cd18d36e37a4d2e.
Report an issue: GitHub.
Appendix: source
Thrown at settings.gradle:100
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()) {
include 'flink'
project(':flink').name = 'iceberg-flink'
}
if (flinkVersions.contains("1.20")) {
include ":iceberg-flink:flink-1.20"
include ":iceberg-flink:flink-runtime-1.20"
project(":iceberg-flink:flink-1.20").projectDir = file('flink/v1.20/flink')View on GitHub (pinned to 86d9c8fc54)