You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Deepa Remesh (JIRA)" <de...@db.apache.org> on 2006/05/13 01:11:08 UTC
[jira] Created: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
---------------------------------------------------------------------------------------------------------------------------------------
Key: DERBY-1325
URL: http://issues.apache.org/jira/browse/DERBY-1325
Project: Derby
Type: Bug
Components: JDBC
Versions: 10.2.0.0, 10.1.3.0
Reporter: Deepa Remesh
Assigned to: Deepa Remesh
Fix For: 10.2.0.0, 10.1.3.0
If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Updated: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Deepa Remesh (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Deepa Remesh updated DERBY-1325:
--------------------------------
Attachment: derby-1325-v2.diff
derby-1325-v2.status
Thanks Kathey and Mamta for looking at the patch. I am attaching an updated patch 'derby-1325-v2.diff' because the first patch became outdated after the commit for DERBY-1219. In the new patch, I moved the test into a new method in checkDataSource.java. I verified the test fails without the patch and passes with the patch. Please review/commit this patch.
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status, derby-1325-v2.diff, derby-1325-v2.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Commented: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=comments#action_12402425 ]
Kathey Marsden commented on DERBY-1325:
---------------------------------------
Deepa, this patch looks ok to me but it would be good if someone more familiar with the embedded xa isolation state maintenance could take a look.
Kathey
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Commented: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=comments#action_12412985 ]
Kathey Marsden commented on DERBY-1325:
---------------------------------------
Comitted to the trunk. Won't mark resolved until it goes into 10.1
Date: Tue May 23 13:29:47 2006
New Revision: 409002
URL: http://svn.apache.org/viewvc?rev=409002&view=rev
Thanks Deepa!
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status, derby-1325-v2.diff, derby-1325-v2.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Closed: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Deepa Remesh (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Deepa Remesh closed DERBY-1325:
-------------------------------
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0, 10.1.2.5
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-10.1.diff, derby-1325-10.1.status, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status, derby-1325-v2.diff, derby-1325-v2.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Updated: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Deepa Remesh (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Deepa Remesh updated DERBY-1325:
--------------------------------
Attachment: derby-1325-v1.diff
derby-1325-v1.status
Attaching a patch 'derby-1325-v1.diff' which ensures correct isolation level gets used once we switch back to local mode when SQL is used to set the isolation level.
Patch does the following:
* Adds call to get the isolation level up to date when joining/resuming a global transaction. This will make sure the BrokeredConnection object has the correct isolation level to be used when we switch back to local mode.
* Adds a test to jdbcapi/checkDataSource.java and modifies the master files.
With this patch, I ran derbyall with Sun jdk 1.4.2 on Windows XP. No failures. I would appreciate if someone can take a look at this patch.
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Resolved: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Kathey Marsden resolved DERBY-1325:
-----------------------------------
Fix Version: 10.1.2.5
Resolution: Fixed
Derby Info: (was: [Patch Available])
Resoved with
Date: Thu May 25 12:22:20 2006
New Revision: 409438
URL: http://svn.apache.org/viewvc?rev=409438&view=rev
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0, 10.1.2.5
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-10.1.diff, derby-1325-10.1.status, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status, derby-1325-v2.diff, derby-1325-v2.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Commented: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Mamta A. Satoor (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=comments#action_12411899 ]
Mamta A. Satoor commented on DERBY-1325:
----------------------------------------
Deepa, the patch looks good to me too. I think this bug is result of Derby-421(worked by me) where I missed cleaning up the state information during the global transaction exit time :( Your patch seems to take care of it.
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Updated: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Deepa Remesh (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Deepa Remesh updated DERBY-1325:
--------------------------------
Attachment: SetIsolation_SQL_JDBC.java
derby-1325-draft.diff
Attaching a repro 'SetIsolation_SQL_JDBC.java' and a draft patch 'derby-1325-draft.diff' for the problem. The patch adds a call to update the isolation level in the BrokeredConnection when joining/resuming a transaction. This is similar to what is done when we start a fresh transaction. With the patch, I ran the repro and xa suite. This patch is only to get comments/feedback and not for commit. Please take a look.
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Updated: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Deepa Remesh (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Deepa Remesh updated DERBY-1325:
--------------------------------
Derby Info: [Patch Available]
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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
[jira] Updated: (DERBY-1325) Isolation level of local connection
does not get reset after exiting a global transaction if the isolation
level was changed using SQL
Posted by "Deepa Remesh (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-1325?page=all ]
Deepa Remesh updated DERBY-1325:
--------------------------------
Attachment: derby-1325-10.1.diff
derby-1325-10.1.status
Attaching a patch 'derby-1325-10.1.diff' which ports this fix to 10.1 branch. A direct merge was not possible. With this patch, I successfully ran derbyall with Sun jdk 1.4.2 on Windows XP. Please take a look at this patch. Thanks.
> Isolation level of local connection does not get reset after exiting a global transaction if the isolation level was changed using SQL
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1325
> URL: http://issues.apache.org/jira/browse/DERBY-1325
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0, 10.1.3.0
> Reporter: Deepa Remesh
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0, 10.1.3.0
> Attachments: SetIsolation_SQL_JDBC.java, derby-1325-10.1.diff, derby-1325-10.1.status, derby-1325-draft.diff, derby-1325-v1.diff, derby-1325-v1.status, derby-1325-v2.diff, derby-1325-v2.status
>
> If we update the isolation level using SQL instead of JDBC and then join/resume a global transaction, on ending the transaction, the isolation level of the local connection is not restored. The problem seems to be in EmbedXAResource. So it happens with both embedded and client driver. Client driver internally uses SQL to set the transaction isolation. So the problem is more likely to be hit with the client. I will attach a repro and a draft patch with more details.
--
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