Skip to content
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

Fix HTTP1.1 pipeline teardown #190

Merged
merged 1 commit into from
Jan 22, 2024

Conversation

patrickbkr
Copy link
Contributor

The teardown can be triggered by a connection close of the remote side. This sends a LAST at the bottom of the supply pipeline. That last needs to bubble up the supply chain and arrive in Cro::HTTP::Client (possibly also applies to the server) for it to tear down its pipeline. Otherwise the supply chain will for the most part be torn down and further emits of requests will sit forever in the topmost Supply::Preserving which then has no taps.
The symptom without this fix is that a pipeline that the remote end closed (i.e. hasn't been used for 60 seconds or so) will cause all subsequent uses of that pipeline to error out with

Exceeded timeout for headers when attempting to access http://foop

The teardown can be triggered by a connection close of the remote side.
This sends a `LAST` at the bottom of the supply pipeline. That last needs
to bubble up the supply chain and arrive in Cro::HTTP::Client (possibly
also applies to the server) for it to tear down its pipeline. Otherwise the
supply chain will for the most part be torn down and further emits of
requests will sit forever in the topmost Supply::Preserving which then has
no taps.
The symptom without this fix is that a pipeline that the remote end closed
(i.e. hasn't been used for 60 seconds or so) will cause all subsequent uses
of that pipeline to error out with

    Exceeded timeout for headers when attempting to access http://foop
@jnthn jnthn merged commit 2d1d9b4 into croservices:master Jan 22, 2024
0 of 2 checks passed
@patrickbkr patrickbkr deleted the fix-http11-pipeline-teardown branch January 22, 2024 19:41
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

Successfully merging this pull request may close these issues.

2 participants