Re: Missing documentation for error code: 80S01

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




From: "Kevin Grittner" <Kevin.Grittner@xxxxxxxxxxxx>

"Donald Fraser" <postgres@xxxxxxxxxxxxxxx> wrote:

the JDBC driver does know that the server has terminated the
connection [...] (via end of stream or EOF).

Is the error class "57" a better prefix for this type of error?

Possibly.  Is it really true that the client will see a clean close
for a canceled query or a clean server shutdown and never see a
clean close of the TCP connection from the server side for other
reasons?

Technically yes. When performing a read on the socket you get -1 indicating
EOF or remote socket closed. You don't get an IO error.
The difficult part is what was the client doing when the server closes the
socket?
If the client wasn't doing anything then the next likely action a client
would perform is to execute a query which would involve writing to the
socket first and in this case you will get a broken pipe IO exception,
rather than remote socket closed.
If the client had already executed a query and was attempting to read
response data then you get remote socket closed.

I would like to propose that when a "remote socket closed" is detected that
the JDBC driver uses a different error code to the one used for IO
exceptions.
Currently for IO exceptions error code is: "08S01"
For detection of remote socket closed, the error code should be different -
may be "08S02" or "57P00"?
I'm not really sure where or how these numbers are supposed to be
used/generated.
The "08" class would seem to be the most appropriate since it is
connection related.

Regards
Donald Fraser

--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux