Обсуждение: unexpected close

Поиск
Список
Период
Сортировка

unexpected close

От
John R Pierce
Дата:
we have a inhouse Java OLTP type application thats getting unexpected
errors.

PostgreSQL 9.2.5 is logging...
2013-11-09 13:03:10.945 role@db[13101]: ERROR:  invalid message format
2013-11-09 13:03:10.945 role@db[13101]: STATEMENT:  select * from t1
where t1_id = $1
2013-11-09 13:03:10.945 role@db[13101]: FATAL:  invalid frontend message
type 0

2013-11-09 13:16:19.257 role@db[19291]: LOG:  unexpected EOF on client
connection with an open transaction
2013-11-09 13:16:34.152 role@db[19352]: LOG:  unexpected EOF on client
connection with an open transaction
2013-11-09 13:16:38.203 role@db[13161]: LOG:  unexpected EOF on client
connection with an open transaction

2013-11-09 13:17:38.995 role@db[19523]: ERROR:  invalid message format
2013-11-09 13:17:38.995 role@db[19523]: STATEMENT:  select * from t1
where t1_id = $1
2013-11-09 13:17:38.995 role@db[19523]: FATAL:  invalid frontend message
type 0

2013-11-09 13:17:40.622 role@db[19475]: ERROR:  insufficient data left
in message
2013-11-09 13:17:40.622 role@db[19475]: STATEMENT:  select * from t1
where t1_id = $1
2013-11-09 13:17:40.622 role@db[19475]: FATAL:  invalid frontend message
type 0


this has been happening every few minutes, on a server thats getting
sustained 100s of small transactions/second but is only maybe 10% busy
peak.  the clients are JDBC programs, and are getting this:

     java.sql.SQLException: org.postgresql.util.PSQLException: An I/O
error occured while sending to the backend.
         ....stack dump....
     Caused by: org.postgresql.util.PSQLException: An I/O error occured
while sending to the backend.
         ....more stack dump....
     Caused by: java.net.SocketException: Socket closed
         ....more stack dump....

the server is 9.2.5...
  PostgreSQL 9.2.5 on x86_64-unknown-linux-gnu, compiled by gcc (GCC)
4.4.7 20120313 (Red Hat 4.4.7-3), 64-bit

but it looks like the app was packaged with a rather old JDBC,
postgresql-8.3-604.jdbc3.jar
our java apps do only the most basic sql APIs, all data is numbers and
varchar, this jdbc worked fine with older versions.

is this a error likely because of this old JDBC with the newer 9.2 server?



Re: unexpected close

От
Dave Cramer
Дата:
I/O errors generally mean there is some kind of network problem, however it should be trivial to replace the driver jar to confirm

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca


On Sat, Nov 9, 2013 at 4:57 AM, John R Pierce <pierce@hogranch.com> wrote:
we have a inhouse Java OLTP type application thats getting unexpected errors.

PostgreSQL 9.2.5 is logging...
2013-11-09 13:03:10.945 role@db[13101]: ERROR:  invalid message format
2013-11-09 13:03:10.945 role@db[13101]: STATEMENT:  select * from t1 where t1_id = $1
2013-11-09 13:03:10.945 role@db[13101]: FATAL:  invalid frontend message type 0

2013-11-09 13:16:19.257 role@db[19291]: LOG:  unexpected EOF on client connection with an open transaction
2013-11-09 13:16:34.152 role@db[19352]: LOG:  unexpected EOF on client connection with an open transaction
2013-11-09 13:16:38.203 role@db[13161]: LOG:  unexpected EOF on client connection with an open transaction

2013-11-09 13:17:38.995 role@db[19523]: ERROR:  invalid message format
2013-11-09 13:17:38.995 role@db[19523]: STATEMENT:  select * from t1 where t1_id = $1
2013-11-09 13:17:38.995 role@db[19523]: FATAL:  invalid frontend message type 0

2013-11-09 13:17:40.622 role@db[19475]: ERROR:  insufficient data left in message
2013-11-09 13:17:40.622 role@db[19475]: STATEMENT:  select * from t1 where t1_id = $1
2013-11-09 13:17:40.622 role@db[19475]: FATAL:  invalid frontend message type 0


this has been happening every few minutes, on a server thats getting sustained 100s of small transactions/second but is only maybe 10% busy peak.  the clients are JDBC programs, and are getting this:

    java.sql.SQLException: org.postgresql.util.PSQLException: An I/O error occured while sending to the backend.
        ....stack dump....
    Caused by: org.postgresql.util.PSQLException: An I/O error occured while sending to the backend.
        ....more stack dump....
    Caused by: java.net.SocketException: Socket closed
        ....more stack dump....

the server is 9.2.5...
 PostgreSQL 9.2.5 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3), 64-bit

but it looks like the app was packaged with a rather old JDBC, postgresql-8.3-604.jdbc3.jar
our java apps do only the most basic sql APIs, all data is numbers and varchar, this jdbc worked fine with older versions.

is this a error likely because of this old JDBC with the newer 9.2 server?



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

Re: unexpected close

От
Bosco Rama
Дата:
On 11/09/13 01:57, John R Pierce wrote:
> but it looks like the app was packaged with a rather old JDBC,
> postgresql-8.3-604.jdbc3.jar
> our java apps do only the most basic sql APIs, all data is numbers and
> varchar, this jdbc worked fine with older versions.
>
> is this a error likely because of this old JDBC with the newer 9.2 server?

Just a random observation (and probably wrong for this, but ...) we
used to see these sorts of errors within ecpg and/or libpq when a
connection got used by multiple threads simultaneously.  But, IIRC, PG
jdbc connections are thread-safe.  Unless they weren't in the '8.3' era.

(Relatively new to PG's jdbc so take with appropriately sized grain of
salt :-p ).

Bosco.