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
backends-clickhouse has two Iceberg Java tests, TestPositionDeletesTableGluten and TestFlinkUpsert. #9996 introduced the versioned source layout, put both in src-iceberg-spark33/test/java, and added a JUnit 5 port of TestPositionDeletesTableGluten under src-iceberg-spark35/test/java without porting TestFlinkUpsert. #12902 removes Spark 3.3 and with it the two 3.3 copies, leaving the 3.5 TestPositionDeletesTableGluten as the only survivor.
Neither test has been compiled since #9996. Two independent reasons:
src-iceberg-spark<N>/test/{scala,java} is added only by the iceberg-test profile, and no ClickHouse job passes it. The Jenkins command passes -Piceberg and -Dsurefire.skipTests=false but not -Piceberg-test.
The ClickHouse Jenkins job also still hardcodes -Pspark-3.3, so it needs an update of its own before any of this runs.
Meanwhile the cost is not zero: the iceberg profile in backends-clickhouse/pom.xml carries nine Flink artifacts (three iceberg-flink-* plus flink-streaming-java, flink-table-api-bridge-base, flink-table-api-java, flink-table-api-java-bridge, flink-test-utils, flink-table-planner_2.12), resolved by every -Piceberg ClickHouse build for a test that never compiles. After #12902 no source file in the module references org.apache.flink at all.
Option 1: keep them
In this order, because each step depends on the previous one:
Add -Piceberg-test to the ClickHouse job, whose -Pspark-3.3 also has to go.
Port TestFlinkUpsert to src-iceberg-spark35. This is smaller than it looks. The file is already JUnit 5 (@TestTemplate, org.apache.iceberg.Parameters) and extends CatalogTestBase, which iceberg-flink-1.19-1.10.0-tests.jar still ships. The only unresolved symbol is MiniClusterResource, used once for DISABLE_CLASSLOADER_CHECK_CONFIG; MiniFlinkClusterExtension replaces it.
Run both tests and fix what the run turns up. Nobody has seen either of them execute, so this step is the one with unknown cost.
Option 2: drop them
Delete src-iceberg-spark35/test/java/.../TestPositionDeletesTableGluten.java and the nine Flink dependencies. TestFlinkUpsert is already gone with #12902.
Recommendation
Option 1 if someone will own the ClickHouse CI wiring in step 2, since without it step 3 produces another file that nothing builds. Otherwise option 2: a test no build compiles is worse than no test, because it reads as coverage that does not exist. This is a call for the ClickHouse maintainers rather than something #12902 should decide.
Where things stand
backends-clickhousehas two Iceberg Java tests,TestPositionDeletesTableGlutenandTestFlinkUpsert. #9996 introduced the versioned source layout, put both insrc-iceberg-spark33/test/java, and added a JUnit 5 port ofTestPositionDeletesTableGlutenundersrc-iceberg-spark35/test/javawithout portingTestFlinkUpsert. #12902 removes Spark 3.3 and with it the two 3.3 copies, leaving the 3.5TestPositionDeletesTableGlutenas the only survivor.Neither test has been compiled since #9996. Two independent reasons:
src-iceberg-spark<N>/test/{scala,java}is added only by theiceberg-testprofile, and no ClickHouse job passes it. The Jenkins command passes-Picebergand-Dsurefire.skipTests=falsebut not-Piceberg-test.icebergandiceberg-testcollide on one build-helper execution id and the collision dropssrc-iceberg/test/scala, whereClickHouseIcebergHiveTableSupportlives. Filed as [BUILD]icebergandiceberg-testprofiles collide on one build-helper execution id, silently droppingsrc-iceberg/testsources #12933.The ClickHouse Jenkins job also still hardcodes
-Pspark-3.3, so it needs an update of its own before any of this runs.Meanwhile the cost is not zero: the
icebergprofile inbackends-clickhouse/pom.xmlcarries nine Flink artifacts (threeiceberg-flink-*plusflink-streaming-java,flink-table-api-bridge-base,flink-table-api-java,flink-table-api-java-bridge,flink-test-utils,flink-table-planner_2.12), resolved by every-PicebergClickHouse build for a test that never compiles. After #12902 no source file in the module referencesorg.apache.flinkat all.Option 1: keep them
In this order, because each step depends on the previous one:
icebergandiceberg-testprofiles collide on one build-helper execution id, silently droppingsrc-iceberg/testsources #12933.-Piceberg-testto the ClickHouse job, whose-Pspark-3.3also has to go.TestFlinkUpserttosrc-iceberg-spark35. This is smaller than it looks. The file is already JUnit 5 (@TestTemplate,org.apache.iceberg.Parameters) and extendsCatalogTestBase, whichiceberg-flink-1.19-1.10.0-tests.jarstill ships. The only unresolved symbol isMiniClusterResource, used once forDISABLE_CLASSLOADER_CHECK_CONFIG;MiniFlinkClusterExtensionreplaces it.Option 2: drop them
Delete
src-iceberg-spark35/test/java/.../TestPositionDeletesTableGluten.javaand the nine Flink dependencies.TestFlinkUpsertis already gone with #12902.Recommendation
Option 1 if someone will own the ClickHouse CI wiring in step 2, since without it step 3 produces another file that nothing builds. Otherwise option 2: a test no build compiles is worse than no test, because it reads as coverage that does not exist. This is a call for the ClickHouse maintainers rather than something #12902 should decide.
cc @jackylee-ch