Skip to content

Egress server: Heroku reports H15 errors / 503 responses #181

@noahlevenson

Description

@noahlevenson

@oxtoacart pointed out that the egress server metrics indicate a bunch of 5XX responses for requests. This correlates with the H15 errors reported in the events.

If you tail the logs for the server, you can observe these things happening from time to time. It looks like this:

2023-08-22T23:43:31.603801+00:00 heroku[router]: at=error code=H15 desc="Idle connection" method=GET path="/ws" host=bf-egress.herokuapp.com request_id=403c23
3f-37c6-4371-ae53-253143b2e767 fwd="68.81.173.37" dyno=web.1 connect=0ms service=100175ms status=503 bytes= protocol=https                                    
2023-08-22T23:43:31.604881+00:00 app[web.1]: 2023/08/22 23:43:31 WebSocket connection 952f97a1-d237-4c45-b4fc-b9fdb3a5876e QUIC listener error (failed to get 
reader: failed to read frame header: EOF), closing!                                                                                                           
2023-08-22T23:43:31.604896+00:00 app[web.1]: 2023/08/22 23:43:31 Closed a WebSocket connection! (44 total)  

After reading about H15 errors, you might think that Heroku is just deciding that some of our WebSocket connections are idle and closing them down. But we implemented a keepalive to prevent this from happening, and at the time, it seems to have worked.

I thought: Is the keepalive now failing? It was set for 30s, so I reduced it to 15s and redeployed. But this didn't solve the problem!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions