When these errors occur, there is nothing more that can be done other than to print the
794 error in the database log file and disconnect the client session from the database.
The client is disconnected from the database only if the client was communicating with a Server and the Server was trying to read information on the socket
at the time of the failure, then this error 794 will be printed when disconnecting the client. This situation is often but not exclusively, reflected on the client-side with error 778 due to issues on the
network at the time. For example:
Error reading socket, ret=10054, errno=2. (778)
For further discussion, refer to Article:
There is no way to detect that the remote client terminated in cases where:
- The client is unable to send a signal to server process and / or
- The server was not trying to read a message on the socket at the time of the failure.
In these cases, client sessions would need to be cleared using TCP KeepAlive. For additional details regarding how TCP KeepAlive will address these types of situations refer to Article: