Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure to read from table in S3 with special characters like spaces in path #2266

Open
alexr-bq opened this issue Mar 8, 2024 · 0 comments · May be fixed by #2308
Open

Failure to read from table in S3 with special characters like spaces in path #2266

alexr-bq opened this issue Mar 8, 2024 · 0 comments · May be fixed by #2308
Labels
bug Something isn't working

Comments

@alexr-bq
Copy link

alexr-bq commented Mar 8, 2024

Environment

Delta-rs version:
0.17.0 (and earlier)

Binding:
Rust

Environment:

  • Cloud provider: AWS
  • OS: OSX Sonoma 14.1.1

Bug

What happened:
When trying to read from a table path with a space in the name, it fails.
Err(NotATable("no log files"))

What you expected to happen:
Expected the table to be read as normal.

How to reproduce it:

Create a table with a space in the path, ie at "s3a://testbucket/data/test1 /"
Then run:
`

let storage_options: HashMap<String, String> = ...
deltalake::aws::register_handlers(None);
let table_filepath = "s3a://testbucket/data/test1 /"; 
let mut table = deltalake::open_table_with_storage_options(
    table_filepath,
    storage_options,
)
.await;
println!("Table result: {:?}", table);

`

More details:

Looked into what is happening here a little. It seems like we URL encode the path right away, so the above example becomes s3a://testbucket/data/test1%20/. Then, we pass this to the S3 client (object_store-0.7.1/src/aws/client.rs) which passes "data/test1%20" as part of its API call, but that S3 API does not expect a URL encoded string.

@alexr-bq alexr-bq added the bug Something isn't working label Mar 8, 2024
@alexr-bq alexr-bq linked a pull request Mar 20, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant