[ 
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: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.1.1, 
> 10.6.1.0
>            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.

Reply via email to