[
https://issues.apache.org/jira/browse/DERBY-3319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kristian Waagan updated DERBY-3319:
-----------------------------------
Attachment: LogicalConnectionCloseActiveTransactionBug.java
'LogicalConnectionCloseActiveTransactionBug.java' is a repro for this issue.
Note the system property for running with the embedded or the client driver.
Read class comment for how to compile/run.
> Logical connections do not check if a transaction is active on close
> --------------------------------------------------------------------
>
> Key: DERBY-3319
> URL: https://issues.apache.org/jira/browse/DERBY-3319
> Project: Derby
> Issue Type: Bug
> Components: JDBC, Network Client
> Affects Versions: 10.3.2.1, 10.4.0.0
> Environment: Embedded driver and client driver.
> Reporter: Kristian Waagan
> Attachments: LogicalConnectionCloseActiveTransactionBug.java
>
>
> If you call close on a logical connection, for instance as obtained through a
> PooledConnection, it does not check if there is an active transaction.
> The close of the logical connection is allowed, and even the close of the
> parent PooledConnection is allowed in the client driver. This can/will cause
> resources to be left on the server, and later operations might fail
> (typically with lock timeouts because the "closed" transaction is still
> holding locks).
> I do not know if gc will solve this eventually, but I would say the current
> behavior of the client driver is wrong in any case.
> There is difference in the behavior between the embedded and the client
> driver, and there also seems to be a bug in the embedded driver.
> The analysis above is a bit sketchy, so it might be required to look into the
> issue a bit more...
> I will attach a repro (JDBC usage should be verified as well, is it legal /
> as intended?)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.