BUG #6503: Idle in transaction while lazy loading in JSF render response - Mailing list pgsql-bugs

From j.vreven@aca-it.be
Subject BUG #6503: Idle in transaction while lazy loading in JSF render response
Date
Msg-id E1S3VrN-0002ZW-DY@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #6503: Idle in transaction while lazy loading in JSF render response
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6503
Logged by:          Jo Vreven
Email address:      j.vreven@aca-it.be
PostgreSQL version: 9.0.0
Operating system:   MAC OSX
Description:=20=20=20=20=20=20=20=20

This bug was not in jdbc4 driver: 8.4-701
But is introduced in jdbc4 driver: 8.4-702
It is still present in 9.1-901

Context:
* Tomcat 7
* JPA2 Hibernate
* Atomikos
* Spring
* JTA transaction manager (using org.postgresql.xa.PGXADataSource)

=3D=3D=3D

If in the JSF lifecycle render-response an element is fetched by means of
lazy loading (that was not fetched in invoke-application lifecycle) a
transaction will be started but it remains idle in transaction for
postgres.

The JTA Transaction manager has no active transactions at that moment, so
for JTA everything seems commit/rollback.

The connection seems to be back in the connectionpool, since the transaction
was used for only read operations no harm is done, and the connection
becomes idle for postgres when the next thread invokes a commit on this
connection.

Workaround 1: Use version 8.4-701 or lower
Workaround 2: JSF phaselistener to begin and rollback transaction before and
after render-response.

pgsql-bugs by date:

Previous
From: Christopher Browne
Date:
Subject: Re: slony replication issue
Next
From: Peter Eisentraut
Date:
Subject: Re: BUG #6480: NLS text width problem