swift-server / swift-server/async-http-client
[HTTP2] Auto retry requests that where send on a stream higher than lastStreamID
Open
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 1.1k
- Forks
- 156
- PR merge metrics
- No merged PRs in 30d
Description
Follow up from: #488
Observed behavior
We see errors for requests that were scheduled in race conditions with GOAWAY streams.
Expected behavior
If a request was scheduled on an http2 stream with a streamID higher than the lastStreamID of the GOAWAY frame, then this request is save to rerun. We should do this.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the follow-up issue #488 and the HTTP/2 GOAWAY behavior described here. Trace requests scheduled above the GOAWAY lastStreamID and verify that those requests are safely retried without duplicating eligible requests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100