[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Valentin Popov updated HTTPCLIENT-1926:
---------------------------------------
    Description: 
Hi,
 We meet this problem in our application. We are using different libs depends 
from httpclient: azure, jclouds, backblaze, etc, encryption for files we 
archiving. It is used everywhere. And after 3 days of usage application stack 
on getService().

I have a [JFR 
Snapshot|https://www.dropbox.com/s/cpgx406vkqpvc80/2018-06-25_08-11-23.jfr.zip?dl=0]
 in such condition. If you go to Contention in JFR snapshot you will see 
java.security.Provider.getService() is a bottleneck for application. 

It is already opened [bug|https://bugs.java.com/view_bug.do?bug_id=7092821] in 
Oracle database, but I'm not sure it will be fixed any time.  

Most of stack traces start from 
{code:java}
Stack Trace Count Duration
 sun.security.ssl.SSLSocketImpl.startHandshake() 1,055 4,767,153,771,586
 
org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(Socket, 
String, int, HttpContext) 792 3,716,363,189,042{code}
Is it possible somehow share Socket, so we don't need handshake each time. 

!Screen Shot 2018-06-28 at 11.30.24.png!  

  was:
Hi,
 We meet this problem in our application. We are using different libs depends 
from httpclient: azure, jclouds, backblaze, etc, encryption for files we 
archiving. It is used everywhere. And after 3 days of usage application stack 
on getService().

I have a [JFR 
Snapshot|https://www.dropbox.com/s/cpgx406vkqpvc80/2018-06-25_08-11-23.jfr.zip?dl=0]
 in such condition. If you go to Contention in JFR snapshot you will see 
java.security.Provider.getService() is a bottleneck for application. 

 

Most of stack traces start from 
{code:java}
Stack Trace Count Duration
 sun.security.ssl.SSLSocketImpl.startHandshake() 1,055 4,767,153,771,586
 
org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(Socket, 
String, int, HttpContext) 792 3,716,363,189,042{code}
Is it possible somehow share Socket, so we don't need handshake each time. 

!Screen Shot 2018-06-28 at 11.30.24.png! 


> stack org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket
> -----------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1926
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1926
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (classic)
>    Affects Versions: 4.5.3
>            Reporter: Valentin Popov
>            Priority: Major
>              Labels: Handshake, block, ssl
>         Attachments: Screen Shot 2018-06-28 at 11.30.24.png
>
>
> Hi,
>  We meet this problem in our application. We are using different libs depends 
> from httpclient: azure, jclouds, backblaze, etc, encryption for files we 
> archiving. It is used everywhere. And after 3 days of usage application stack 
> on getService().
> I have a [JFR 
> Snapshot|https://www.dropbox.com/s/cpgx406vkqpvc80/2018-06-25_08-11-23.jfr.zip?dl=0]
>  in such condition. If you go to Contention in JFR snapshot you will see 
> java.security.Provider.getService() is a bottleneck for application. 
> It is already opened [bug|https://bugs.java.com/view_bug.do?bug_id=7092821] 
> in Oracle database, but I'm not sure it will be fixed any time.  
> Most of stack traces start from 
> {code:java}
> Stack Trace Count Duration
>  sun.security.ssl.SSLSocketImpl.startHandshake() 1,055 4,767,153,771,586
>  
> org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(Socket,
>  String, int, HttpContext) 792 3,716,363,189,042{code}
> Is it possible somehow share Socket, so we don't need handshake each time. 
> !Screen Shot 2018-06-28 at 11.30.24.png!  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to