-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Suvendu,
On 7/23/19 07:39, Suvendu Sekhar Mondal wrote: > One of our legacy applications is using Apache Commons HttpClient > 3.1. POST call to one REST service is failing with > "java.net.ConnectException: Connection timed out: connect" > exception[1]. Timeout is occurring after one minute. To figure out > where thread is spending all the time, I took multiple thread > dumps. In all of them, thread is trying to create secure socket[2]. > I am not seeing any thread pool issue. Also the target REST service > is working properly with same payload while invoked from Postman. > It is only failing consistently when going through the HttpClient. > I am trying to figure out why it is taking so long in connecting to > the socket. I am looking for suggestion on how to attack this one. > > Tomcat: 7.0.55 JRE: 1.8_92 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 Your version is Tomcat is quite old and contains numerous "important" publicly-known vulnerabilities. You should upgrade ASAP. The connection timeout you are seeing is on the client end: your client is connecting to another server and the server isn't responding fast enough. That's why your stack trace always shows the thread "creating a socket": it's trying to connect to the remote service and it's never completing. Since it's failing on "connect" and not "read", it's likely that there is a firewall between your client and the service you are trying to connect to which is dropping all packets instead of returning a "connection refused" response. So this isn't a problem with your code or with Tomcat. It's a problem between your client (which has the stack trace below) and the service that code is trying to call. - -chris > > [1] java.net.ConnectException: Connection timed out: connect at > java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method) at > java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.jav a:350) > > at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImp l.java:206) > at > java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java: 188) > > at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) > at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at > java.net.Socket.connect(Socket.java:589) at > sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at > sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:472) at > sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImp l.java:153) > > at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSo cket(SSLProtocolSocketFactory.java:82) > at > org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.create Socket(SSLProtocolSocketFactory.java:127) > > at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:70 7) > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Http MethodDirector.java:387) > > at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho dDirector.java:171) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java :397) > > at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 23) > > [2] "http-apr-18100-exec-5" #327 daemon prio=5 os_prio=0 > tid=0x000000002efbf800 nid=0x2508 runnable [0x000000002e55d000] > java.lang.Thread.State: RUNNABLE at > java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method) at > java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.jav a:350) > > - - locked <0x000000071a984780> (a java.net.TwoStacksPlainSocketImpl) > at > java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketI mpl.java:206) > > at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:18 8) > at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at > java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at > java.net.Socket.connect(Socket.java:589) at > sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at > sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:472) at > sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImp l.java:153) > > at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSo cket(SSLProtocolSocketFactory.java:82) > at > org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.create Socket(SSLProtocolSocketFactory.java:127) > > at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:70 7) > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Http MethodDirector.java:387) > > at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho dDirector.java:171) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java :397) > > at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 23) > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > -----BEGIN PGP SIGNATURE----- Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl02/eIACgkQHPApP6U8 pFikGw/+JYcsOSeHO8zlyDnaclEAsFGaSgTZ0zm3zy/M97MoCV1eECM28cuWevJK uNk5WD+FtWI3eKZTnqOyFa+hAJhAy4d+B7NA7uHn0mIv9PE6NeMjlmfkMd5avta8 eaxLfZWGlT5Xnx7egf0eFn4qCDVsMgljjl8GcS2KZJveVndlr7tpLRwnLzH7DY13 mzzOEejgy8pKDvHP4drnJFHK/KYl2RkuoIFJHUmWeBvlUIuoZHi2nOdyyhy+WIRc akI6/i521CzgHXdo55g1GfoOuGdsnOiYMqRvD/USADbARVFzHbTrnh97GOxDCSly 2tXSUFtYLIBmzfDFEMa/RLvuPBJ6r3SJ1LnVP07an5rs+Ni+hprZn/DAkE1HhlGQ AqrRLLUa1/t0HYswtonG9zfw1KS00kpr4Sql4Jsof5gtYyfOBDXIbAHUJ2vxvXvq tvBpR48ES6zR35ssgvpr5+R/pV4ICKsYoz4TkAj9V4pX7eSSwd7zYioOlD0lrJrR Jatg9NlVTEjBzGsUAYQ9RRkRgAY2Grw0tHg+SSJkDiWV/OBj2wPMfStiNtnY16mx lkL7gTsAPg4sa7XsQ8xzM0rc4+LuEE4qjevL4Uu2lLBLMtIGLW22VgWvyYZy3S6X 5neYAkOCSJKuAq9EuRNBMD/JocAlAlt5uCX0neyXpbdFQmdJ0/A= =+eTp -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org