-
Notifications
You must be signed in to change notification settings - Fork 157
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
ProtocolError on receive_data after connection is closed #1199
Comments
Just want to chime in, we're seeing those errors some times too, we have a gRPC client with HTTP2 proxy, and the client throws this:
I'm guessing this is related to the connection being terminated but RECV_PING frames are still being sent? |
I believe we are also seeing this in a relatively busy HTTP2 client in PrefectHQ/prefect#7442 — happy to investigate contributing a fix but I'm not sure how this should be handled. |
I believe this is related to #1181 |
I am randomly getting this error on h2 3.1.1 (about once a week on a busy H2 client):
Unfortunately the code is somewhat complicated but I believe the connection closing logic to be correct. I never call close_connection and I quit receiving once ConnectionTerminated appears.
Possibly H2 is internally closing the connection due to ping timeout or other issue, and then throws me an error when the peer still sends something. Quite likely this actually happens when my laptop is in sleep, and H2 going ping-timeout meanwhile, with some data still in receive buffers. I would expect a ConnectionTerminated event in that case, after any remaining events are relayed, not an exception.
The text was updated successfully, but these errors were encountered: