thswlsqls opened a new pull request, #17248: URL: https://github.com/apache/iceberg/pull/17248
Closes #17247 ## Summary - `ADLSFileIO.listPrefix()` returned each file's location as a container-relative path (`dir/file`) instead of a fully-qualified URI. - Siblings return full URIs: `S3FileIO` builds `s3://bucket/key` (S3FileIO.java:348), `GCSFileIO` builds `gs://bucket/name` (GCSFileIO.java:302). - `ADLSLocation` cannot parse a relative path, so it throws `ValidationException` when `FileSystemWalker` round-trips it (opt-in Spark `usePrefixListing`, Flink maintenance orphan cleanup). - Reconstruct the full URI from the prefix location, preserving its scheme, container, and host; add `ADLSLocation.scheme()` to expose the captured scheme. ## Testing done - Added `TestADLSFileIO#listPrefixReturnsFullyQualifiedLocation` (unit, Mockito) asserting the location is `abfss://[email protected]/dir/file`. - `./gradlew :iceberg-azure:test --tests "...TestADLSFileIO"` — 13 tests passed. `:iceberg-azure:spotlessCheck :iceberg-azure:checkstyleMain :iceberg-azure:checkstyleTest` — passed. - Updated the existing `src/integration/.../TestADLSFileIO#testListPrefixOperations` assertion to the full URI. Not run locally, along with `:iceberg-azure:check`, since both need Docker/Azurite. -- 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]
