NoahKusaba opened a new issue, #3017:
URL: https://github.com/apache/iceberg-rust/issues/3017

   ### Is your feature request related to a problem or challenge?
   
   
   `IcebergStaticTableProvider` holds a `Table`, which owns a live `FileIO` and 
is
   bound to the catalog it was loaded from. Neither survives serialization.
   
   That blocks distributed execution: engines like DataFusion Ballista plan on 
one
   node and execute on others, so `IcebergTableScan` has to be shipped to 
workers
   that then rebuild storage before they can read data files. The provider knows
   which catalog it loaded from, but drops that information, leaving consumers 
no
   way to identify the table well enough to rebuild it elsewhere.
   
   The repo already has the shape needed — `CatalogBuilder::load` takes `name` 
and
   `props`, and `iceberg-catalog-loader` selects a builder by `type`. That 
triple
   just isn't recorded on the read path.
   
   ### Describe the solution you'd like
   
   Add `IcebergCatalogConfig { type, name, props }` to `iceberg-datafusion`: 
plain
   data, no live connections, mirroring the loader's inputs. Let
   `IcebergStaticTableProvider` record it and expose it alongside 
`table_ident()`
   and `snapshot_id()`, and let `IcebergTableScan` carry it into the physical 
plan.
   
   Together those are enough to rebuild the catalog, load the `Table`, and pin 
the
   same snapshot. Nothing in the crate would connect using them; the config is 
an
   `Option` defaulting to `None`, so existing behavior is unchanged.
   
   ### Willingness to contribute
   
   I can contribute to this feature independently


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