db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lily Wei (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4314) With derby client setTransactionIsolation executes and commits even if isolation has not changed
Date Wed, 28 Apr 2010 22:13:49 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861965#action_12861965

Lily Wei commented on DERBY-4314:

At this point, I am hesitate to keep working on piggy-backing fix due to the fact that we
can not execute a statement in the local transaction when we rejoin to the global transaction
per Kathey's example( please see ReproIsoLost.java). With DERBY-4314-5 fix, we don't commit
when calling setTransactionIsolation(). However, we do have performance issue when connection
is not cache. We will have server round-trip when we first call seTransactionIsolation when
creating the connection, we will have two round trip when isolation is not set to READ_COMMITTED
(check + change) In any case, DERBY-4314-5 do fix setTransctonIsolation() not perform commit
issue. Therefore, I am leading toward to submit DERBY-4314-5 change and open a new JIRA for
the performance issue. From the new JIRA, we can investigate further about the piggybacking
issue and beyond and have conclusion on this issue and DERBY-4343. Is this sound like a reasonable
solution for this issue?

> With derby client setTransactionIsolation executes and commits even if isolation has
not changed 
> -------------------------------------------------------------------------------------------------
>                 Key: DERBY-4314
>                 URL: https://issues.apache.org/jira/browse/DERBY-4314
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Network Client
>    Affects Versions:,,,,,
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: DERBY-4314-2.diff, DERBY-4314-3.diff, DERBY-4314-5.diff, derby-4314-6a-initial_piggybacking.diff,
derby-4314-6a-initial_piggybacking.stat, DERBY-4314-6b-combinepiggybacking.diff, DERBY-4314-6c-combineaftermerge.diff,
DERBY-4314.diff, ReproIsoLost.java, TestConnReuse.java, utilXid.java
> With in EmbedConnection.setIsolation() we have a check to see if the isolation level
is the same and if so just return without doing a commit:
>   public void setTransactionIsolation(int level) throws SQLException {
> 		if (level == getTransactionIsolation())
> 			return;
> with org.apache.derby.client.am.Connection we have no such check. It would be good if
the client driver acted like embedded.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message