pvary opened a new pull request, #9735: URL: https://github.com/apache/iceberg/pull/9735
Currently it is not possible to create metadata tables above serialized tables. This could be useful as a general feature, and specifically it is needed if we want to create Flink jobs to run table maintenance tasks, and we want this tasks to run consistently on a specific table snapshot. Also theoretically this should be possible as the serialzed table points to the state of the given table at a specific snapshot, and only the missing implementation prevents us to query metadata for this given snapshot. Tried 3 approaches: 1. Created a new interface `HasTableMetadata` which could return the current `TableMetadata` for a given table. - `HasTableOperations` is often used in places where only the `TableMetadata` is needed, and having a different interface should separate the cases where we only want to use the `TableMetadata` form the cases where we want to execute `TableOperations`. 2. Created a new extended interface with `TableWithTableMetadata` - We do not need `instanceof` checks to use this interface, we might even add this to the main `Table` interface, as every table should have a `TableMetadata`. OTOH exposing the current `TableMetadata` could be questionable, as it could make it hard to change this interface later. 3. Made `SerializableTable` to implement `HasTableOperations` - Only minimal changes needed for this one In this PR I have opted for the 3rd approach, but if the community wants, I can implement one of the other options too. -- 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]
