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]
