vbabenkoru commented on PR #9245: URL: https://github.com/apache/paimon/pull/9245#issuecomment-5309246886
The JDK 11 CI failures were caused by this PR bumping `paimon-iceberg` to Iceberg 1.11 outright: Iceberg 1.10+ ships Java-17 bytecode, and the `paimon-iceberg` module is built by the JDK 11 workflows, so `javac` could not read the Iceberg classes. I've restructured the PR to keep CI green without losing the GA validation: * The module compiles and tests against **Iceberg 1.8.1 by default**, exactly as on master, so the JDK 11 workflows build and run everything again. * The handful of assertions that need the GA (1.10+) reader API — per-manifest / per-file `firstRowId()` — look the method up reflectively and **skip themselves** when the API is absent (2 GA-only tests skip, plus one guarded assertion block; everything else runs unchanged on 1.8.1). * A new opt-in **`iceberg-ga` profile** (`mvn test -pl paimon-iceberg -Ppaimon-iceberg,iceberg-ga` on JDK 17) switches the module to Iceberg 1.11 with the Hadoop/Jetty/Jackson pins its test fixtures need, so the full suite — including the GA reader matrix — validates against the reference implementation. I've run both configurations locally: default on JDK 11 (50 tests, 2 skipped) and `-Piceberg-ga` on JDK 17 (all tests, nothing skipped). Longer term, actually bumping the module's Iceberg dependency (and giving it a JDK 17 CI job) is a project-level decision — 1.8.1 predates GA row lineage, and Iceberg's active line has moved to Java 17. Happy to file that separately or adjust here, whichever the maintainers prefer. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
