jackylee-ch opened a new pull request, #3163:
URL: https://github.com/apache/iceberg-rust/pull/3163

   ## Which issue does this PR close?
   
   None — filed directly.
   
   ## What changes are included in this PR?
   
   `AzureStoragePath::path` stored `Url::path()`, which is percent-encoded, 
while both consumers
   recover the relative path by slicing that many bytes off the *raw* input 
string
   (`azdls.rs` `azdls_create_operator`, and `lib.rs` `relativize_path`, used by 
`delete_stream`). Any
   space or non-ASCII byte makes the encoded length longer than the input, so 
the offset lands inside
   the host:
   
   ```
   abfss://[email protected]/仓库/db/t/v1.json
     was:  .windows.net/仓库/db/t/v1.json
     now:  /仓库/db/t/v1.json
   ```
   
   Reads then miss a blob that exists; writes create it under the mangled key 
while the manifest
   records the correct `abfss://` URI. Keeping the raw substring fixes both 
consumers, so `lib.rs`
   needs no change. `HfUri::parse` already derives its `path` from the raw 
input this way.
   
   ## Are these changes tested?
   
   Yes — two cases added to `test_azdls_create_operator` (a non-ASCII segment 
and a space); both fail
   on the parent commit. `cargo test --release -p iceberg-storage-opendal --lib 
--features
   opendal-azdls` → 14 passed (13 before). With `--all-features`, 
`file_io_gcs_test` fails 4 tests with
   `Connection refused` here and identically on unmodified `main` — it needs 
the docker fixture.
   
   ## AI Disclosure
   
   Written with AI assistance (Claude Code); I reviewed the change and ran the 
tests above.
   Note for reviewers: this backend still has no integration test, so the fix 
is covered by unit tests
   only. I did not verify against a live ADLS account.
   


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