[teiid-issues] [JBoss JIRA] (TEIID-3120) honor javax.sql.DataSource LoginTimeout

Steven Hawkins (JIRA) issues at jboss.org
Mon Sep 15 10:56:02 EDT 2014


     [ https://issues.jboss.org/browse/TEIID-3120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins resolved TEIID-3120.
-----------------------------------
    Fix Version/s: 8.9
       Resolution: Done


Added support for the DataSource loginTimeout via a new driver property loginTimeout, which is the time in seconds before we'll an exception will be thrown on connecting.  This is based upon checking a timeout value when a socket timeout occurs, so it is dependent upon the soTimeout rather than on another thread to explicitly interrupt.  The soTimeout default was changed to 1000 (rather than 3000 / 3 seconds) so that it's resolution will roughly correspond to the second interval of login timeout.  We can introduce usage of the Statement enhanced timer if we want to allow shorter timeouts and/or more precise control over when they occur via an interrupt.  Also the handshake retries were modified to instead be based upon the synch ttl rather than being hard coded - but that has the effect of lengthening the handshake timeout from the current default of effectively 30 seconds to 240 seconds.  However since users can now set the login timeout that is a more effective value to control that behavior rather than tuning soTimeout / synch ttl.

> honor javax.sql.DataSource LoginTimeout
> ---------------------------------------
>
>                 Key: TEIID-3120
>                 URL: https://issues.jboss.org/browse/TEIID-3120
>             Project: Teiid
>          Issue Type: Feature Request
>          Components: JDBC Driver
>    Affects Versions: 8.4.2
>            Reporter: Johnathon Lee
>            Assignee: Steven Hawkins
>             Fix For: 8.9
>
>
> setLoginTimeout is currently not honored.
> Modify [1] to generate a reproducer.  Use [2] in order to simulate an unresponsive Teiid instance.  
>   
> [1]
> https://github.com/teiid/teiid-quickstarts/tree/8.4.x/simpleclient
> add  ds.setLoginTimeout(1) to JDBCClient.getDataSourceConnection
> [2]
> sudo iptables -I INPUT 1 -m state --state NEW -m tcp -p tcp --dport 31000 -j DROP



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)



More information about the teiid-issues mailing list