Re: Postgresql 7.0 JDBC exceptions - broken connections ?
От | Tom Lane |
---|---|
Тема | Re: Postgresql 7.0 JDBC exceptions - broken connections ? |
Дата | |
Msg-id | 1866.959353996@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | RE: Postgresql 7.0 JDBC exceptions - broken connecti ons ? (Peter Mount <petermount@it.maidstone.gov.uk>) |
Список | pgsql-interfaces |
Peter Mount <petermount@it.maidstone.gov.uk> writes: > Unknown Response Type u > PM: Does anyone [on Hackers] know what the u code is for? The fact it's > in lower case tells me that the protocol/connection got broken somehow. There is no 'u' message code. Looks to me like the client got out of sync with the backend and is trying to interpret data as the start of a message. I think that this and the "Tuple received before MetaData" issue could have a common cause, namely running out of memory on the client side and not recovering well. libpq is known to emit its equivalent of "Tuple received before MetaData" when the backend hasn't violated the protocol at all. What happens is that libpq runs out of memory while trying to accumulate a large query result, "recovers" by resetting itself to no-query-active state, and then is surprised when the next message is another tuple. (Obviously this error recovery plan needs work, but no one's got round to it yet.) I wonder whether the JDBC driver has a similar problem, and whether these queries could have been retrieving enough data to trigger it? Another possibility is that the client app is failing to release query results when done with them, which would eventually lead to an out-of-memory condition even with not-so-large queries. regards, tom lane
В списке pgsql-interfaces по дате отправления: