kbendick edited a comment on pull request #3116: URL: https://github.com/apache/iceberg/pull/3116#issuecomment-922070927
> This committed code implements both `TableFactory` and `Factory`. [Actually, Flink 1.13 will continue to use `TableFactory` API](https://github.com/apache/flink/blob/5f007ff6c8224c6e5a14de2c79296eb85a22fe1f/flink-table/flink-table-common/src/main/java/org/apache/flink/table/factories/FactoryUtil.java#L240). So only implementing `TableFactory` is the method with the least changes and the lowest risk to upgrade to 1.13. Which way do you prefer? Implementing both or just `TableFactory`? Oh that's rather unfortunate. I had hoped that Flink 1.13 would use the new interface, if present, while allowing for the old interface to also be implemented for backwards compatibility. Perhaps somebody more involved with the Flink Community than myself can comment as to whether or not there might be a flag added or that could be added to tell Flink to prefer the new interface first (when present). I would suggest implementing both interfaces for now (and also organizing the interface functions so that they're organized together based on which interface), so as to keep support for Flink 1.12. While this won't give us the benefit of the new API, we can upgrade to Flink 1.13.2 and then consider the importance of that later on. I would still implement the new API functions though (since it's already been done), and then we can track that in a follow up issue. We might indeed decide dropping support for 1.12 is worth it, but we can't make that decision on our own. EDIT: Perhaps it can be broken up into two different classes, and then when we build the jar only one META-INF file is placed on the class path depending on the Flink version. Seems really messy, but possibly we can consider this down the road. Any thoughts on this @stevenzwu @openinx? -- 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]
