Native Iceberg errors print data and delete file paths with their credentials
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 73/100
Research direction
Read iceberg_location_scoped.rs, iceberg_scan.rs, iceberg_write.rs, and planner.rs, along with the URL redaction helpers added in #7127. Find the listed error messages and check how the #7128 changes apply redaction to similar paths. Done when each message prints paths without credentials or query strings and the relevant tests pass.
Written by the indexing model from the issue text.
Description
Describe the bug
Found while working on #7128. Several native Iceberg errors print a data or delete file path exactly as the catalog recorded it:
iceberg_location_scoped.rs: "Invalid S3 path {path}", "S3 path {path} has no bucket"iceberg_scan.rs: "Failed to stat delete file '{path}'" and the size check after iticeberg_write.rs: "{path} is not the data file this output was made for", "... on the output of data file {path}"planner.rs: "Delete file '{file_path}' has a negative {what}"
A location with a password in its userinfo or a SAS token or signature in its query string would end up in task failures and logs. Catalog locations rarely carry credentials, so this is low risk, but it is the same leak #7128 fixes for Parquet, Delta and object store paths.
Steps to reproduce
Each message formats the path with {path} as is, so a location like s3://alice:SECRET@bucket/t/delete.parquet?sig=TOKEN reaching any of them is printed with SECRET and TOKEN.
Expected behavior
These messages show the path without its password, username or query, using the URL redaction helpers #7127 adds, as the #7128 pull requests do for the other paths.
Additional context
Not part of the four #7128 pull requests, which cover object store setup, the Parquet writer, native Delta and the JVM rejected path reason.
- Dominant language
- Scala
- Stars
- 1.3k
- Forks
- 414
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 228
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/datafusion-comet
-
requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/datafusion-comet#7558 ·
Maintainers usually reply within 2 days
-
enhancement requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/datafusion-comet#7557 ·
Maintainers usually reply within 2 days
-
`rand` and `randn` with an integer seed fall back to Spark without a fallback reasonPossibly taken @galaxytemple claimed this 1 day ago. Openrequires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/datafusion-comet#7479 · 1 comment · 1 assignee ·
Maintainers usually reply within 2 days
-
area:writer enhancement requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
apache/datafusion-comet#7463 ·
Maintainers usually reply within 2 days
-
requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/datafusion-comet#7458 ·
Maintainers usually reply within 2 days
All issues in apache/datafusion-comet
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
propensive/soundness#2438 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
lichess-org/lila#22440 ·
Maintainers usually reply within 1 day
-
unrefined
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
No test covers transaction re-request after a delivery timeoutPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ergoplatform/ergo#2916 ·
Maintainers usually reply within 3 days