Hi Iceberg and Spark community,

I'd like to bring your attention to a recent change[1] in Spark 3.5.3 that
effectively breaks Iceberg's SparkSessionCatalog[2] and blocks Iceberg
upgrading to Spark 3.5.3[3].

SparkSessionCatalog, as a customized Spark V2 session catalog,
supports creating a V1 table with V1 command. That's no longer allowed
after the change unless it extends DelegatingCatalogExtension. It is not
minor work since SparkSessionCatalog already extends a base class[4].

To resolve this issue, we have to make changes to public interfaces at
either Spark or Iceberg side. IMHO, it doesn't make sense for a downstream
project to refactor its interfaces when bumping up a maintenance version of
Spark. WDYT?


1. https://github.com/apache/spark/pull/47724
2.
https://iceberg.apache.org/docs/nightly/spark-configuration/#replacing-the-session-catalog
3. https://github.com/apache/iceberg/pull/11160
<https://github.com/apache/iceberg/pull/11160>
4.
https://github.com/apache/iceberg/blob/main/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkSessionCatalog.java

Thanks,
Manu

Reply via email to