apache / apache/arrow-rs-object-store

URI builder starts query strings with ampersand

Open
#434 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
322
Forks
212
Avg merge
5d 2h
Merged PRs (30d)
10

Description

**Describe the bug**
We encountered a bug in DDN Infinia where list requests were failing. We tracked it down to an unusual URI in the format of `http://server/bucket?&list-type=2&prefix=foo/`. Starting a query string with an ampersand (before `list-type`) is unusual and broke our URI parser.

**To Reproduce**
Run a list objects request with the AWS plugin and trace the URI generated.

**Expected behavior**
The URI should not start a query string with an ampersand. The above URI should be:
`http://server/bucket?list-type=2&prefix=foo/`

**Additional context**
We have fixed our parser to handle this corner case, but have customers we cannot upgrade right now so we would like to fix it in the crate.

I have a PR I will submit shortly.

Contributor guide

Open the contributing guide

Research direction

Start by running a list objects request through the AWS plugin and tracing where its URI is assembled. Inspect the generated query delimiter before list-type and add coverage for this case; done means the URI begins with ?list-type=2&prefix=foo/ rather than ?&list-type=2&prefix=foo/.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, rust
Domain
cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.