StaticTableProvider can't be reconstructed in another process
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- databases, distributed-systems
Línea de trabajo
Comienza en el crate iceberg-datafusion siguiendo el recorrido de IcebergStaticTableProvider, IcebergTableScan y la ruta del plan físico; después, compara las entradas de catálogo utilizadas por CatalogBuilder::load y iceberg-catalog-loader. El trabajo estará completo cuando la configuración de catálogo básica quede expuesta, se transmita a través de la planificación y el comportamiento existente permanezca sin cambios cuando esté ausente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Rust
- Estrellas
- 1.4k
- Forks
- 574
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 65
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/iceberg-rust
-
Remove license clarification for zstd-sys once workspace upgrades zstd (zstd 0.14, zstd-sys 2.1)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/iceberg-rust#3307 ·
Los mantenedores suelen responder en 1 día
-
datafusion
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apache/iceberg-rust#3297 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/iceberg-rust#3285 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
apache/iceberg-rust#3280 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/iceberg-rust#3234 · 2 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/iceberg-rust
Issues similares
-
agent:triaged bug bughunt pm:npm priority:p1
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
SocketDev/socket-patch#464 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 3 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
stellar/stellar-cli#2773 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día