db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2026) Setting a login timeout in client driver can lead to query timeout
Date Fri, 06 Aug 2010 22:34:16 GMT

     [ https://issues.apache.org/jira/browse/DERBY-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mike Matrigali updated DERBY-2026:
----------------------------------


The code change makes sense to me.  I don't know a lot about this code, but as long as the
connection is complete by the point of your added code my reading of the socket interface
makes it look like this is the right change.

some questions about testing for this issue:
1) Do the existing tests exercise set login timeout, so that we have some coverage that your
change does not break the existing logic.  
2) Are you going to add a junit test that will show the bug before your change
and verify that it is fixed after the change?

Does anyone know if this socket timeout stuff is used for query timeout, and if so will this
change have any affect?

> 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
>         Attachments: DERBY2026_LoginTimeout_diff_patch1.txt, LoginTimeout.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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message