kbendick opened a new issue #3050:
URL: https://github.com/apache/iceberg/issues/3050


   As of Flink 1.13, a new interface `Factory` has been added to the Table API, 
to better support the usage of additional catalogs (particularly within Flink 
SQL): 
https://github.com/apache/flink/commit/4497e96b96724aee6637f19f64ffc8ba47a9b0ac
   
   We already extend `CatalogFactory`, but in Flink 1.13 `CatalogFactory` was 
updated to also implement the new `Factory` interface. This provides many 
benefits including:
   - A definitive way to get the ClassLoader to instantiate specific Iceberg 
catalogs and access the Hadoop configuration etc (class loading in Flink is 
somewhat complicated and this new utility method 
`CatalogFactory.Context#getClassLoader` would likely greatly simplify this)
   - Remove our dependency on the deprecated `TableFactory` interface, which is 
still present for backwards compatibility but will be removed eventually
   
   Our 
[`FlinkCatalogFactory`](https://github.com/apache/iceberg/blob/master/flink/src/main/java/org/apache/iceberg/flink/FlinkCatalogFactory.java#L60)
 would need to be updated to implement the new `Factory` interface of 
`CatalogFactory`.
   
   As the upstream Flink `CatalogFactory` seems to maintain backwards 
compatibility (I.e. it implements both `TableFactory` as before, as well as the 
new interface `Factory`), this should hopefully be achievable without having to 
have version specific code. We may, however, need to implement two separate 
classes to continue to support Flink 1.12.x and lower.
   
   As the updated Flink `CatalogFactory` interface uses Java service provider 
interface, this seems like it should be doable.
   
   cc @openinx @JingsongLi @stevenzwu for your thoughts. =)


-- 
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]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to