feat: Add a sanity check layer to detect if services return unexpected responses
- Dominant language
- Rust
- Stars
- 5.4k
- Forks
- 825
- Avg merge
- 1d 14m
- Merged PRs (30d)
- 127
Description
### Describe the bug
There seems to be an incompatibility between OpenDAL and s3s-fs.
I've raised the issue here with s3s-fs https://github.com/s3s-project/s3s/issues/350
The TL;DR is that when writing data and then calling `op.list("/").await`, the OpenDAL client will freeze.
This very well might be because of an invalid response from the server, but either way, the client shouldn't hang (I think, unless I'm wrong).
### Steps to Reproduce
See https://github.com/s3s-project/s3s/issues/350 for test-case repro.
### Expected Behavior
List contents without hanging.
### Additional Context
_No response_
### Are you willing to submit a PR to fix this bug?
- [ ] Yes, I would like to submit a PR.
Contributor guide
Research direction
Start with the op.list("/").await path and the test-case reproduction in s3s-project/s3s#350. Determine whether the server response is invalid and where the client stops responding. Done means the list operation returns or reports the unexpected response instead of hanging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100