swift-server / swift-server/async-http-client

[HTTP2] Auto retry requests that where send on a stream higher than lastStreamID

Open
#505 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.