You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: extend Spark dependency matrix with Cloudera support and task aliases
- Added Cloudera Spark/Hadoop dependency line to test matrix with resolvable runtime classpaths.
- Introduced compatibility task aliases for legacy HMS test tasks.
- Updated documentation to reflect matrix structure, task usage, and runtime configuration details.
- Enhanced test setups with uncompressed Parquet default and improved HiveMetastoreClient compatibility.
The Spark matrix has two kinds of axes. Container/service axes belong in TOML and can be selected with `bigdata.test.config`. Dependency axes belong in Gradle tasks because they require different resolved test JVM classpaths. Add a new dependency line by creating a resolvable runtime classpath in `example/spark/build.gradle.kts`, then pair it with the existing TOML service variants.
138
+
137
139
The Gradle configuration-cache warning from `net.researchgate.release` is currently expected and unrelated to test behavior.
Extension config has the same launcher hook: `bigdata.extensions.config` and `bigdata.extensions.config.replace`.
247
247
248
+
Container data-driven tests can be TOML-driven because service images, ports, Kerberos flags, and extension inputs are runtime configuration. Dependency data-driven tests must be Gradle-task/classpath-driven because Spark, Hadoop, Iceberg, and vendor distributions are resolved before the test JVM starts. The Spark example uses separate resolvable runtime classpaths for Apache and Cloudera dependency lines, then pairs those classpaths with TOML service variants.
249
+
248
250
`hiveMetastore` is the open-source HMS image and defaults to `ghcr.io/openprojectx/hive:3.1.3-hadoop-3.4.2-gcs-4.0.4-jdk17-0.1.4`. Hive 4 images can be tested by overriding this image key, but Spark 3.x brings a Hive 2.3 metastore client and should use the Hive 3 image unless that client stack is changed. The open-source HMS path starts an external PostgreSQL support container using `hiveMetastorePostgres`.
249
251
250
252
`clouderaHms` is the embedded-Postgres Cloudera HMS image. Use the `clouderaHms = true` annotation flag when you want this implementation. A test class must not enable both `hiveMetastore` and `clouderaHms`.
The Kerberos axis currently enables the shared KDC and Kafka Kerberos path used by the Spark Kafka source. The HMS axis switches between the open-source Hive 3 HMS image and the Cloudera HMS image. The dependency axis switches the test JVM runtime classpath; it is intentionally implemented in Gradle rather than TOML.
The Kerberos axis currently enables the shared KDC and Kafka Kerberos path used by the Spark Kafka source. The HMS axis switches between the open-source Hive 3 HMS image and the Cloudera HMS image.
871
+
The `sparkClouderaHmsTest` and `sparkClouderaHmsKerberosTest` aliases select the Cloudera dependency line and Cloudera HMS. Use `sparkApacheDepsClouderaHmsTest` when you specifically want Apache Spark/Hadoop dependencies against Cloudera HMS.
872
+
873
+
Spark example test tasks always execute instead of reusing previous test outputs, because these are container smoke tests. The shared Spark TOML writes service container logs to `example/spark/build/bigdata-test-container-logs`; Gradle's test output contains the test JVM logs and points to the HTML test report on failure.
0 commit comments