Re: X509Factory.getFromCache
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Mark, On 10/18/16 4:19 PM, Mark Thomas wrote: > On 18/10/2016 19:43, Rallavagu wrote: >> Tomcat 7.0.70, JDK 1.7.0_80 $java -version java version >> "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) >> Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) >> >> There are many threads BLOCKED as below and due to this these >> threads are very slow. > > That is an outgoing TLS connection and essentially nothing to do > with Tomcat. +1 >> Anybody else experienced this? Am I hitting following JDK bug? >> >> https://bugs.openjdk.java.net/browse/JDK-6432000 > > Looks possible. Definitely possible. However, my guess is that whatever com.dice.api.util.service.DiceHTTPClient is is re-initializing the SSLSocketFactory for every request. If you have control over the code that is calling DiceHTTPClient.getGetDeleteResponse, you might want to see if you can create an SSLSocketFactory a single time and then re-use it for all your outgoing connection (or as many as are appropriate -- you may need a different trust store for each remote endpoint for example). - -chris -BEGIN PGP SIGNATURE- Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJYCAl7AAoJEBzwKT+lPKRY150QALwoTDIYdHf1AlLRb8+Tx+N9 Gnu6WVVpvepdsppiPoTyP/s9SBCTQasO6AqzE2peHo7i9dTe2VeaIAgaPVCq6cO1 yeCMVAQ865cVzkThw4HQRwXJF6mcDOVatUtPtS8xm0HXUwjVZT/9COM5aF/BXMT4 9I5N2JSj571tuGriKqTq7Lgm1/DHQLXQENhFiuYhweiYgnkOT287dJcyQiBNAwGM yawUWBCQ2bbg46eXrj5/eOy92rFTL42SkJn+FHHQCESFxQ9ODY8wJN3EwRg449ZV 8nNrEXEmQ5qtokgFM5NEUvLMw6fj+kjLH/SUenyICNkIWph67w1RkHvDiUxlxLj7 SLvJ7NYl9ep0gYxO/aD+GQUKT0TmhjbTzcjKuENquHf0x12q1fvDCS0lO2YwhjOF R8/89ZcNl1h0j+FlMDWpcSuLGtFOI6NK1xfdl5XW3uXRQEEbBZDHWOX5esBcxOM2 jfHJ1Ge4Cug+vRLnTAYD0b1UTUN/h5ySR6Bv63GTro645B9Flj4dRx2XHR5REHRB ZIRPtBfQlkQ77gEEfZrbqLvIbgYpyjlwSZ58j2GYy0qGpmleunhExUoGzSBDQpBE PoHHNa+lzHVGKqLaACjIc9rnZle/4FhY2VWEsmgue78eJuNSK6URzZ16Q+aFD5ET N3h561PCVQSqeEb3H5pN =m4/h -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: X509Factory.getFromCache
On 18/10/2016 19:43, Rallavagu wrote: > Tomcat 7.0.70, JDK 1.7.0_80 > $java -version > java version "1.7.0_80" > Java(TM) SE Runtime Environment (build 1.7.0_80-b15) > Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) > > There are many threads BLOCKED as below and due to this these threads > are very slow. That is an outgoing TLS connection and essentially nothing to do with Tomcat. > Anybody else experienced this? Am I hitting following JDK > bug? > > https://bugs.openjdk.java.net/browse/JDK-6432000 Looks possible. Mark > > "http-bio-28080-exec-1155" daemon prio=10 tid=0x7feca808e000 > nid=0x5a31 waiting for monitor entry [0x7feba3cf8000] >java.lang.Thread.State: BLOCKED (on object monitor) > at > sun.security.provider.X509Factory.getFromCache(X509Factory.java:215) > - waiting to lock <0x0006a00be6a8> (a java.lang.Class for > sun.security.provider.X509Factory) > at > sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:94) > > at > java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339) > > at > sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:747) > - locked <0x0006dd58da90> (a java.util.Hashtable) > at > sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) > at java.security.KeyStore.load(KeyStore.java:1226) > at > sun.security.ssl.TrustManagerFactoryImpl.getCacertsKeyStore(TrustManagerFactoryImpl.java:221) > > at > sun.security.ssl.TrustManagerFactoryImpl.engineInit(TrustManagerFactoryImpl.java:51) > > at > javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:250) > at > sun.security.ssl.SSLContextImpl.engineInit(SSLContextImpl.java:79) > at javax.net.ssl.SSLContext.init(SSLContext.java:283) > at > org.apache.http.ssl.SSLContexts.createDefault(SSLContexts.java:55) > at > org.apache.http.conn.ssl.SSLConnectionSocketFactory.getSocketFactory(SSLConnectionSocketFactory.java:172) > > at > org.apache.http.impl.conn.BasicHttpClientConnectionManager.getDefaultRegistry(BasicHttpClientConnectionManager.java:117) > > at > org.apache.http.impl.conn.BasicHttpClientConnectionManager.(BasicHttpClientConnectionManager.java:161) > > at > com.dice.api.util.service.DiceHTTPClient.getGetDeleteResponse(DiceHTTPClient.java:162) > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org