Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
fabianfett opened this issue Dec 1, 2021 · 1 comment

Comments

@fabianfett
Copy link
Member

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.

@MahdiBM
Copy link
Contributor

MahdiBM commented Apr 14, 2023

Just want to give an update about the original issue (#488) after ~ a year and a half.
The update is ... Since yesterday I've enabled back http2 requests and this time the server doesn't start to fail requests after a few hours (which used to be the case).
However, one request fails every once in a while with a stream-closed error:

StreamClosed(streamID: HTTP2StreamID(20001), errorCode: HTTP2ErrorCode<0x8 Cancel>, location: "NIOHTTP2/HTTP2StreamChannel.swift:827")

The timings of those errors is not consistent but i can see a pattern. The errors happen every 20 or multitude of 20 minutes. So sometimes after 20 minutes, sometimes after an hour, up to maybe, let's say, 2 hours.
The stream ids are also always very close to 20000 (20001/20003).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants