Re: [INTERFACES] Inifinite socket send from backend to java servlet

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Rich Ryan <postgres(at)weblynk(dot)com>
Cc: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] Inifinite socket send from backend to java servlet
Date: 1999-11-03 06:09:13
Message-ID: 18859.941609353@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Rich Ryan <postgres(at)weblynk(dot)com> writes:
> I'm running RH Linux 5.2, Jdk 1.1.7v3 on machine A, and RH Linux 6.1,
> postgres 6.5.2 on machine B. Some queries made from A to B never return. It
> looks like the java servlet on machine A skipped out on the query or the
> thread died or got interrupted or something, and machine B is infinitely
> waiting for it to read query results.

I'm not qualified to comment on (nor interested in) the problem with the
java servlets, but I'd say they are pretty buggy if they're dying in the
middle of reading query results.

However, the backend ought to recover gracefully from client failure,
and if it's not then I'm interested in that.

> I get a ton of these messages...

> FATAL: pq_endmessage failed: errno=32
> pq_flush: send() failed: Broken pipe

> Within a half day or so, my database connection pool is exhausted because
> there taken up by these infinite waits.

What is supposed to happen is that you get a few of these messages in
the log while the backend tries to dump out the query results to the
no-longer-connected client (maybe more than a few of them, if it was a
big query :-(), and then when the backend finishes the query and tries
to read the next command from the client, it notices that the client
connection isn't there anymore, and gracefully exits. Apparently you've
found a combination of circumstances where this doesn't happen like it's
supposed to. I have no immediate ideas about why. Can anyone else
reproduce this problem?

regards, tom lane

Browse pgsql-interfaces by date

  From Date Subject
Next Message Peter Mount 1999-11-03 07:27:50 RE: [INTERFACES] Inifinite socket send from backend to java servl et
Previous Message Rich Ryan 1999-11-03 04:58:27 Inifinite socket send from backend to java servlet