|
Problem(Abstract) |
XA connections to databases that run on IBM® Informix®
Dynamic Server, Versions 9.4 and 10.0, can undergo isolation level changes
during global transactions. User-configured isolation level settings
switch to database default settings and Informix Dynamic Server enforces
this switch. The default isolation level that Informix uses depends upon
one of the following database logging configurations:
- If the logging type is not ANSI-compliant, Informix uses Read
Committed as the default isolation level.
- If the logging type is ANSI-compliant, Informix uses Serializable
(called Repeatable Read in SET ISOLATION) as the default isolation
level.
These switches in transaction isolation levels can cause the following
problems for your application:
- A java.sql.SQLException with the"Could not position within a table"
error message.
- Frequent database deadlock exceptions.
- Frequent occurrences of database lock time-out expiration.
- Transaction rollbacks and, in the worst-case scenario, data
corruption. These situations occur due to the order of the create, update,
and delete operations that produce inaccurate values or unsupported
values.
|
|
|
|
Cause |
Informix resets the transaction isolation setting to the
database default when the XA transaction ends. Because the change occurs
on the database side of a Java™ Database Connectivity (JDBC) connection,
IBM WebSphere® Application Server does not detect the change. Therefore,
the Application Server might not reset the transaction isolation level
from the database default to the user-configured setting the next time
that the affected connection is retrieved from the pool. |
|
|
Resolving the
problem |
Use a version of Informix that incorporates the PTS 173076
fix. These versions are:
- Informix Dynamic Server Version 10.00.xC4
- Informix Dynamic Server Version 9.40.xC8
|
|
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
WebSphere Application Server |
DB Connections/Connection Pooling |
AIX |
5.1, 5.0.2 |
Enterprise |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
|
|
|