[
https://issues.apache.org/jira/browse/DERBY-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13586835#comment-13586835
]
Dag H. Wanvik commented on DERBY-2026:
--------------------------------------
Did we ever make a positive test, i.e. to show that a login timeout actually
does throw the expected SQLTimeoutException?
I can't find it right now; if we don't have one I'll file an improvement issue.
> Setting a login timeout in client driver can lead to query timeout
> ------------------------------------------------------------------
>
> Key: DERBY-2026
> URL: https://issues.apache.org/jira/browse/DERBY-2026
> Project: Derby
> Issue Type: Bug
> Components: JDBC, Network Client
> Affects Versions: 10.3.1.4
> Environment: Client driver on most platforms
> Reporter: Olav Sandstaa
> Assignee: Mamta A. Satoor
> Priority: Minor
> Fix For: 10.5.3.1, 10.6.2.1, 10.7.1.1
>
> Attachments: derby-2026_diff.txt,
> DERBY2026_LoginTimeout_diff_patch1.txt, LoginTimeout.java,
> LoginTimeoutWithDataSource.java
>
>
> Setting the login timeout by using DriverManager.setLoginTimeout(int
> seconds) also affects the amount of time the client driver is waiting
> for a query to finish. For instance, setting the login timeout to 10
> seconds will result in any queries taking more than 10 seconds to fail
> with the following exception:
> Exception thrown: java.sql.SQLException: A communications error has been
> detected: Read timed out.
> java.sql.SQLException: A communications error has been detected: Read timed
> out.
> at
> org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:345)
> at
> org.apache.derby.client.am.Statement.executeQuery(Statement.java:414)
> at LoginTimeout.main(LoginTimeout.java:53)
> Caused by: org.apache.derby.client.am.DisconnectException: A communications
> error has been detected: Read timed out.
> at
> org.apache.derby.client.net.NetAgent.throwCommunicationsFailure(NetAgent.java:408)
> at org.apache.derby.client.net.Reply.fill(Reply.java:176)
> at
> org.apache.derby.client.net.Reply.ensureALayerDataInBuffer(Reply.java:215)
> at org.apache.derby.client.net.Reply.readDssHeader(Reply.java:317)
> at
> org.apache.derby.client.net.Reply.startSameIdChainParse(Reply.java:1147)
> at
> org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(NetStatementReply.java:51)
> at
> org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(StatementReply.java:40)
> at
> org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(NetStatement.java:139)
> at
> org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Statement.java:1341)
> at
> org.apache.derby.client.am.Statement.flowExecute(Statement.java:1977)
> at
> org.apache.derby.client.am.Statement.executeQueryX(Statement.java:420)
> at
> org.apache.derby.client.am.Statement.executeQuery(Statement.java:405)
> ... 1 more
> Caused by: java.net.SocketTimeoutException: Read timed out
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at org.apache.derby.client.net.Reply.fill(Reply.java:174)
> ... 11 more
--
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