Awk Omo - 2019-02-13

We are experiencing the same issue in that when the SQL Server fails over using multi-subnet a connection hangs in socketRead for over 9 minutes:

java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.socketRead(SocketInputStream.java:127)
java.net.SocketInputStream.read(SocketInputStream.java:181)
java.net.SocketInputStream.read(SocketInputStream.java:152)
net.sourceforge.jtds.ssl.TdsTlsInputStream.read(TdsTlsInputStream.java:72)
com.ibm.jsse2.a.a(a.java:91)
com.ibm.jsse2.a.a(a.java:2)
com.ibm.jsse2.as.a(as.java:876)
com.ibm.jsse2.as.a(as.java:713)
com.ibm.jsse2.e.read(e.java:30)
java.io.DataInputStream.readFully(DataInputStream.java:206)
java.io.DataInputStream.readFully(DataInputStream.java:180)
net.sourceforge.jtds.jdbc.SharedSocket.readPacket(SharedSocket.java:871)
net.sourceforge.jtds.jdbc.SharedSocket.getNetPacket(SharedSocket.java:730)
net.sourceforge.jtds.jdbc.ResponseStream.getPacket(ResponseStream.java:477)
net.sourceforge.jtds.jdbc.ResponseStream.read(ResponseStream.java:114)
net.sourceforge.jtds.jdbc.ResponseStream.peek(ResponseStream.java:99)
net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:4162)
net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1096)
net.sourceforge.jtds.jdbc.TdsCore.submitSQL(TdsCore.java:947)
net.sourceforge.jtds.jdbc.JtdsConnection.setAutoCommit(JtdsConnection.java:2326)
org.apache.commons.dbcp2.DelegatingConnection.setAutoCommit(DelegatingConnection.java:544)
org.apache.commons.dbcp2.PoolableConnectionFactory.activateObject(PoolableConnectionFactory.java:402)
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:473)
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
org.apache.commons.dbcp2.PoolingDriver.connect(PoolingDriver.java:129)
java.sql.DriverManager.getConnection(DriverManager.java:675)
java.sql.DriverManager.getConnection(DriverManager.java:219)

It finally fails and we then get reconnected:

Took 9 Minutes 2.283 Seconds to acquire database connection

Our jdbc url:

jdbc:jtds:sqlserver://XXXX;DatabaseName=YYYY;domain=hosting;ssl=require;multisubnetfailover=true;socketTimeout=1800;sendStringParametersAsUnicode=false