apache / apache/arrow-rs-object-store
URI builder starts query strings with ampersand
- 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
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