We\'re seeing quite a lot of Error H18 (Request Interrupted) in the logs. How should these be interpreted, since sock=client in all cases I assume that it is the client that
There is another case that can cause this error that is not documented by Heroku.
If your server responds to the request and closes the connection without reading the request body, then the router will respond with the H18 error. The Heroku router logs will show sock=backend.
In this case your server is not doing anything wrong with respect to the HTTP spec. It's a bug with the Heroku router.
I contacted Heroku technical support about this, and they confirmed the issue. It will be fixed in a new version of the router they are implementing.
The workaround is to always ensure the request body is read on the backend server before closing the connection.