[
https://issues.apache.org/jira/browse/DERBY-6094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13598174#comment-13598174
]
Dag H. Wanvik commented on DERBY-6094:
--------------------------------------
Currently, when Derby sees an interrupt, it does one of two things: a) if it is
at a reasonable point to stop execution, e.g. waiting for a lock, or between
statements in a batch, it will return control to the user with an exception b)
if it is not in such a point of execution, it will make a note, but proceed,
but possibly throw later, cf. point a). In both cases the interrupt flag
remains set when the user regains control (i.e the JDBC call returns).
I think in a login situation, we would only want to stop execution of the login
if it is safe (as in in we wouldn't lose resources or cause internal
inconsistencies). I see you use the Future class to carry out the login using
an upper time bound corresponding to the login timeout. I don't know how the
execution of the asynchronous task would be stopped in such a case. Would it be
safe (necessarily)?
If the Future#get method throws an interrupt exception, we could retry but with
a shorter timeout, I guess (after noting and clearing the flag as per our
common approach). Since we already have a mechanism for stopping if login takes
too long I don't see the need for having interrupts as a mechanism to stop it.
> Derby ignores DriverManager.setLoginTimeout()
> ---------------------------------------------
>
> Key: DERBY-6094
> URL: https://issues.apache.org/jira/browse/DERBY-6094
> Project: Derby
> Issue Type: Bug
> Affects Versions: 10.10.0.0
> Reporter: Rick Hillegas
> Attachments: derby-6094-01-ac-enforceDriverManagerLoginTimeout.diff,
> derby-6094-01-ad-enforceDriverManagerLoginTimeout.diff,
> derby-6094-01-ae-enforceDriverManagerLoginTimeout.diff,
> LoginTimeoutTest.java, LoginTimeoutTest.java, LoginTimeoutTest.java,
> LoginTimeoutTest.java
>
>
> If you set a login timeout using the DriverManager, Derby ignores the
> setting. I will attach a test case which shows this.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira