[
https://issues.apache.org/jira/browse/DERBY-3237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-3237:
----------------------------------
Priority: Minor (was: Major)
Urgency: Low
Bug behavior facts: [Embedded/Client difference]
Triaged for 10.5.2. Set urgency to Low. I think it would be a lot of work to
try to make all the API's on existing connections well behaved when derby is
shutdown. DERBY-4165 will at least document that the behavior is unpredictable.
> 3 JDBC4.0 apis on Connection object behave differently in Network Server and
> Embedded mode after Derby is shutdown
> ------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3237
> URL: https://issues.apache.org/jira/browse/DERBY-3237
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.3.1.4, 10.4.1.3
> Reporter: Mamta A. Satoor
> Priority: Minor
> Attachments: DERBY_3172_Repro.java
>
>
> While working on DERBY-3172, I found that following 3 JDBC4.0 apis, isValid,
> isWrapperFor and unwrap on Connection object behave differently in Network
> Server and Embedded mode after Network Server/Embedded Derby is shutdown. I
> have attached a reproducible case to show the behavior difference but here is
> brief description of the problem.
> In JDBC4, two methods isWrapperFor and unwrap on Connection object do not go
> to the server when Derby is being accessed in client server mode and because
> of this, we never detect that the server is down and hence no connection
> error event or connection closed exception is thrown in client server mode
> for these 2 apis. But when the same apis are called in embedded Derby after
> the engine is shutdown, we get connection error event and connection closed
> exception.
> And lastly, the new JDBC4 api isValid on Connection object has different
> behavior in client server mode and embedded mode. Embedded throws exception
> that the connection is down but Network Server incorrectly returns true from
> isValid even when the Network Server has been shutdown. In addition, in
> embedded mode, after the engine is shutdown, an isValid call on Connection
> object raises a connection closed event. In client server mode, after the
> Network Server is shutdown, an isValid call on Connection object does not
> raise any event. Again, I am not sure if this is expected bahavior difference
> between the 2 configurations of Derby. Lastly, as per Connection.isValid api
> Java specification, a SQLException is thrown under following condition which
> is not being followed in embedded
> Throws:
> SQLException - if the value supplied for timeout is less then 0
> Based on this, I am not sure if our behavior is correct to throw an
> SQLException if the engine is down.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.