Closed novaugust closed 6 years ago
This isn't possible in the current implementation. We can likely improve it after #108 if we move to using ETS where we currently use pdict.
To test this, we need to sleep on a execute instruction and make sure we provide a good message.
We should also probably include a bit of the client information in the failure.
@fishcakez it seems the major concern from @novaugust is not the execute timeout message, which we already handle it nicely (although we could include client information in there) but rather that the process that triggers the timeout will fail with either tcp/ssl recv error. To be fair, I don't think we can fix this though.
@josevalim I think we can fix it after #152
Closed in favor of #157.
in the words of jose:
❤️ 💚 💙 💛 💜
Description of issue
When a connection errors due to a query timeout a helpful message is logged to errors like
Whatever process was using that connection will also exit if it wasn't trapping, which the error_logger will pick up and print but with a far less helpful message
When reporting exceptions to a service, only this second, less useful message gets reported: "ssl recv: closed". Devs then have to open up the logs and go searching for a Postgrex error logged sometime before the exception that contains a matching pid.
Request
Would it be possible to have these timeout exits maintain the useful "timed out because..." message as their exception message? It'd be a big quality of life improvement as a developer, both to cut down on the exception dereferencing but also to differentiate timeout errors from actual ssl errors (handshake, network, ...)