HeartSaVioR commented on pull request #1432: URL: https://github.com/apache/iceberg/pull/1432#issuecomment-689166450
> Have you considered implementing this by using cached tables underneath metadata tables? So instead of refreshing each metadata table with a different Table instance for the same table, use the same cached Table instance for all metadata tables? That seems simpler than using notifications. I haven't thought about that approach, as I was trying to find less invasive changes, like CachingCatalog still doesn't know about the details on the metadata tables, though it knows the relation of the 'identifier' between base table and metadata tables. I agree your suggestion would be pretty much simpler than relying on the listener - I couldn't think of other approach on receiving updates on the base table in CachingCatalog, and your suggestion even doesn't need to make CachingCatalog be aware of updates. If I understand correctly, you're suggesting that all metadata tables share the cached base table instance (probably tableOps as well). That seems to make CachingCatalog no longer blindly delegate to the catalog on loading metadata tables, because CachingCatalog should retrieve the Table instance (+ TableOperation instance underneath) of the base table instead, and cache it, and construct the Table instance for metadata table. Is my understanding correct? ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
