dwsmith1983 opened a new pull request, #7565:
URL: https://github.com/apache/datafusion-comet/pull/7565

   ## Which issue does this PR close?
   
   Closes #7128.
   
   This is the last of four pull requests for #7128, each covering one area. 
They build on #7127, which adds the URL redaction helpers they use, so #7127 
merges first. Suggested order after it:
   
   1. #7556: object store setup and its error messages.
   2. #7561: the Parquet writer's URL errors, plan display and debug log.
   3. #7562: native Delta's URL display and deletion vector errors.
   4. This one: the rejected path reason on the JVM side. It closes #7128, so 
it merges last.
   
   They target `main`, so until #7127 merges each one also shows its commits.
   
   ## Rationale for this change
   
   When object_store cannot open a path, the scan falls back to Spark with a 
reason that names the path. The native Parquet scan printed the whole URI 
there, and the native Delta scan masked the user info but kept the query, so a 
password or a SAS token or signature showed up in the plan and the fallback 
report.
   
   ## What changes are included in this PR?
   
   - `NativeConfig.displayPath` shows a URI without its password, query or 
fragment and masks a username as `***`, as Delta's existing reasons do. An ABFS 
username names the container, so it stays. The user info is read from the raw 
authority, so a host Java treats as registry based, such as one with an 
underscore, is covered too.
   - A URI with nothing to hide reads exactly as before, including `file:/` 
paths and the `%0A` that explains why the path was rejected. An opaque URI 
shows only its scheme.
   - The native Parquet and native Delta rejected path reasons both use it.
   
   `branch-1.2` prints the whole URI in the native Parquet reason, so that part 
is a candidate for a backport. A `?` that Hadoop folded into a path is part of 
the path and stays, as in the other three pull requests.
   
   ## How are these changes tested?
   
   `NativeConfigSuite` covers each shape with a password, a username and a 
signature query, the ABFS container, a registry based host, an opaque URI, and 
paths that must stay as they are. `CometMultiStoreScanSuite` checks the Parquet 
fallback reason end to end for an S3 and an ABFS root, and 
`DeltaScanContribSuite` checks the Delta reason drops the query and fragment. 
Each new test fails on the base branch. The suites pass on Spark 3.5, 4.0 and 
4.1.
   


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