ParquetWriterExec's derived Debug prints object store options, which can hold secret keys
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia da native/core/src/execution/operators/parquet_writer.rs ed esamina l’implementazione Debug derivata di ParquetWriterExec e gli helper aggiunti in #7127. Verifica come l’operatore formatta output_path e object_store_options, poi controlla che l’output di debug ometta le credenziali nei percorsi e includa le chiavi delle opzioni senza i valori. L’issue non indica alcun file di test, quindi individua o aggiungi una copertura per la formattazione di un operatore con un’opzione segreta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Found while working on #7128. ParquetWriterExec in native/core/src/execution/operators/parquet_writer.rs derives Debug, so {:?} of the operator prints output_path and object_store_options as they are. The options come from NativeConfig.extractObjectStoreOptions and can hold credentials such as fs.s3a.secret.key or an Azure SAS token, and the path can carry a password or a SAS query.
Comet does not format the plan with {:?} today, so nothing leaks yet. A debug log, a dbg!, a test assertion or a DataFusion error that formats the plan with Debug would print the secrets.
Steps to reproduce
Format a ParquetWriterExec built with fs.s3a.secret.key in its options with {:?}. The key's value appears in the output.
Expected behavior
Debug for ParquetWriterExec prints the path without credentials (the helpers #7127 adds) and only the keys of object_store_options, not their values.
Additional context
The plan display (DisplayAs) and the writer's messages are handled in the #7128 pull requests; this is the remaining way the operator can print its options.
- Lingua principale
- Scala
- Stelle
- 1.3k
- Fork
- 414
- Merge medio
- 3g 5h
- PR unite (30g)
- 228
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/datafusion-comet
-
requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
apache/datafusion-comet#7559 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/datafusion-comet#7557 ·
I maintainer di solito rispondono entro 2 giorni
-
`rand` and `randn` with an integer seed fall back to Spark without a fallback reasonForse già presa @galaxytemple l’ha presa 1 giorno fa. Apertarequires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/datafusion-comet#7479 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
area:writer enhancement requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
apache/datafusion-comet#7463 ·
I maintainer di solito rispondono entro 2 giorni
-
requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/datafusion-comet#7458 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di apache/datafusion-comet
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
propensive/soundness#2438 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
lichess-org/lila#22440 ·
I maintainer di solito rispondono entro 1 giorno
-
unrefined
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
No test covers transaction re-request after a delivery timeoutForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ergoplatform/ergo#2916 ·
I maintainer di solito rispondono entro 2 giorni