apache / apache/iceberg-python
Table properties override catalog configuration when constructing FileIO
- Lingua principale
- Python
- Stelle
- 1.1k
- Fork
- 581
- Merge medio
- 1g 17h
- PR unite (30g)
- 78
Descrizione
When a table is loaded, its metadata properties are merged into the property map used to construct the table's `FileIO`, and they take precedence over the operator's catalog configuration.
`Catalog._load_file_io` computes:
```python
load_file_io({**self.properties, **properties}, location)
```
where `properties` is `metadata.properties`. Because table properties come last, a value stored in a table overrides the same key configured on the catalog. The REST path does the same at `_response_to_table` / `_response_to_staged_table`, and Glue, Hive, SQL, DynamoDB, BigQuery and `StaticTable.from_metadata` all funnel table metadata into `FileIO` construction the same way — 12 call sites in total.
The keys this reaches include implementation selection (`py-io-impl`, `s3.retry-strategy-impl`) and transport configuration (`s3.endpoint`, `s3.proxy-uri`, `s3.signer` / `s3.signer.uri`, `gcs.service.host`, `hf.endpoint`, the ADLS storage authorities). These are deployment concerns — an operator sets them on the catalog — but any principal who can commit to a table can currently override them for everyone who reads it.
Issue investigation generated via claude, reviewed by Sung, Kevin, Fokko.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia da Catalog._load_file_io e segui i percorsi REST _response_to_table e _response_to_staged_table, quindi esamina i corrispondenti punti di chiamata di Glue, Hive, SQL, DynamoDB, BigQuery e StaticTable.from_metadata. Verifica come le proprietà dei metadati vengono unite nella costruzione di FileIO e aggiungi una copertura che dimostri che la configurazione del catalogo rimane autorevole per le impostazioni di deployment lungo i percorsi interessati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- backend, security
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 55/100