From 97505589af0caa11caedfe5781ed8b443f9df2d7 Mon Sep 17 00:00:00 2001 From: Cheng Pan Date: Fri, 14 Feb 2025 10:23:20 +0800 Subject: [PATCH] [KYUUBI #6915] Fix ClickHouse integration tests ### Why are the changes needed? I observed ClickHouse integration test failure in GHA, after some investigation, the root cause is https://github.com/testcontainers/testcontainers-java/pull/9942 ``` /entrypoint.sh: neither CLICKHOUSE_USER nor CLICKHOUSE_PASSWORD is set, disabling network access for user 'default' ``` In short, the recent ClickHouse docker image does not allow the `default` user to connect without a password, unfortunately, `testcontainers-scala-clickhosue` does not expose API to set CLICKHOSUE_USER and CLICKHOUSE_PASSWORD, as a workaround, I pin `clickhouse-server:24.3.15`(the latest version has no such restriction) until a fixed version of Testcontainers available. This PR also switches the `clickhouse-jdbc`'s classifier from `http` to `shaded`, the reason is, `http` does not ship ApacheHttpClient5, previously, it happened to work because `iceberg-runtime-spark3.5_2.12` packaged un-relocated ApacheHttpClient5 classes, but it gets fixed in Iceberg 1.8.0, then `clickhouse-jdbc:http` stop working. ``` java.lang.NoClassDefFoundError: org/apache/hc/core5/http/HttpRequest ``` Additionally, this PR bumps `clickhouse-jdbc` from 0.6.0 to 0.6.5. ### How was this patch tested? Pass GHA. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #6915 from pan3793/fix-ch-test. Closes #6915 996f095e0 [Cheng Pan] Pin clickhouse-server:24.3.15 d633df07c [Cheng Pan] Bump clickhouse-jdbc 0.6.5 214c8a227 [Cheng Pan] Fix ClickHouse integration tests Authored-by: Cheng Pan Signed-off-by: Cheng Pan (cherry picked from commit d49c6314d06f53f59fff4a92f664a72579f3b842) Signed-off-by: Cheng Pan --- externals/kyuubi-jdbc-engine/pom.xml | 2 +- .../engine/jdbc/clickhouse/WithClickHouseContainer.scala | 2 +- integration-tests/kyuubi-jdbc-it/pom.xml | 4 ++-- pom.xml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/externals/kyuubi-jdbc-engine/pom.xml b/externals/kyuubi-jdbc-engine/pom.xml index 0c4a191f7..8ce269719 100644 --- a/externals/kyuubi-jdbc-engine/pom.xml +++ b/externals/kyuubi-jdbc-engine/pom.xml @@ -112,7 +112,7 @@ com.clickhouse clickhouse-jdbc - http + shaded test diff --git a/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/clickhouse/WithClickHouseContainer.scala b/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/clickhouse/WithClickHouseContainer.scala index 483876cc4..bd84e0356 100644 --- a/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/clickhouse/WithClickHouseContainer.scala +++ b/externals/kyuubi-jdbc-engine/src/test/scala/org/apache/kyuubi/engine/jdbc/clickhouse/WithClickHouseContainer.scala @@ -23,7 +23,7 @@ import org.apache.kyuubi.engine.jdbc.WithJdbcServerContainer trait WithClickHouseContainer extends WithJdbcServerContainer { - private val clickHouseDockerImage = "clickhouse/clickhouse-server:24.3" + private val clickHouseDockerImage = "clickhouse/clickhouse-server:24.3.15" override val containerDef: ClickHouseContainer.Def = ClickHouseContainer.Def(dockerImageName = DockerImageName.parse(clickHouseDockerImage)) diff --git a/integration-tests/kyuubi-jdbc-it/pom.xml b/integration-tests/kyuubi-jdbc-it/pom.xml index 18b937d2d..5ff3f07c6 100644 --- a/integration-tests/kyuubi-jdbc-it/pom.xml +++ b/integration-tests/kyuubi-jdbc-it/pom.xml @@ -106,7 +106,7 @@ com.clickhouse clickhouse-jdbc - http + shaded test @@ -188,7 +188,7 @@ com.clickhouse clickhouse-jdbc ${clickhouse-java.version} - http + shaded true ${project.build.directory} diff --git a/pom.xml b/pom.xml index fb20b1e3b..9a01c910f 100644 --- a/pom.xml +++ b/pom.xml @@ -193,7 +193,7 @@ 3.2.16.0 4.1.0 1.7.36 - 0.6.0 + 0.6.5 2.2