[
https://issues.jboss.org/browse/TEIID-3120?page=com.atlassian.jira.plugin...
]
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)