[ http://issues.apache.org/jira/browse/DERBY-1044?page=all ]

Kathey Marsden updated DERBY-1044:
----------------------------------

    Assign To: Kathey Marsden
     Priority: Critical  (was: Major)

Bumping to critical as this could cause wrong results  in a connection pooling 
environment.


> [xa] client XAConnection.getConnection()  does not have the correct  default 
> isolation level if set by an earlier connection obtained from the same 
> XAConnection
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1044
>          URL: http://issues.apache.org/jira/browse/DERBY-1044
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Versions: 10.1.2.3, 10.1.3.0, 10.2.0.0, 10.1.2.2
>     Reporter: Kathey Marsden
>     Assignee: Kathey Marsden
>     Priority: Critical
>      Fix For: 10.1.3.0, 10.2.0.0, 10.1.2.4
>  Attachments: IsoChange.java
>
> If the isolation level is set on a connection obtained with 
> XAConnection.getConnection()  and then another connection is obtained from 
> the same XAConnection, then the isolation will not be the default 
> READ_COMMITTED but will be the isolation level set on the previous 
> connection.  
> See this code in checkDataSource.java
> I will add a reference to this bug
>                cs1 = xac.getConnection();
>               printState("new handle - local ", cs1);
>               cs1.close();
>               xar.start(xid, XAResource.TMJOIN);
>               cs1 = xac.getConnection();
>                 
> cs1.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
>               printState("pre-X1 commit - local", cs1);
>               xar.start(xid, XAResource.TMJOIN);
>               printState("pre-X1 commit - X1", cs1);
>               xar.end(xid, XAResource.TMSUCCESS);
>               printState("post-X1 end - local", cs1);
>               xar.commit(xid, true);
>               printState("post-X1 commit - local", cs1);
>               cs1.close();
>               System.out.println("Some more isolation testing using SQL and 
> JDBC api");
>                 //  The  initial isolation level for this connection is 
> REPEATABLE_READ.  Left over from the last connection.
>                // It should be READ_COMMITTED
>               cs1 = xac.getConnection();
>               s = cs1.createStatement();
>               printState("initial local", cs1);

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to