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

Disconnect and reconnect the hanging watch-streams #860

Closed
wants to merge 1 commit into from
Closed

Conversation

nolar
Copy link
Owner

@nolar nolar commented Nov 3, 2021

Ensure that all outgoing connections have keep-alive enabled. This should prevent watch-streams from hanging without reconnection.

The unproven suspicion is that RST packets issued by API servers are not delivered back to the operator (as a client of the API) if the API servers are behind a load balancer/proxy or maybe NAT.

Without being properly disconnected, Kopf/aiohttp honestly believes that the stream is alive but simply empty -- for minutes or even hours. It is not necessary for short-lived connections (regular GETs), but goes as a side-effect (can be removed if keepalives bring issues).

This was a reoccurring issue reported multiple times: #847 #698 #614 #585 #232 #204 — with a known workaround but no clear and good defaults to fix that "out of the box", so as with no clear understanding of "how" and "why" and "when" this issue happens. Now, there is at least some idea to try (from #847).

@nolar nolar added the bug Something isn't working label Nov 3, 2021
@nolar nolar closed this Jun 19, 2022
@nolar nolar deleted the so-keepalive branch June 19, 2022 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant