[ 
https://issues.apache.org/jira/browse/HTTPCORE-755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17746780#comment-17746780
 ] 

Oleg Kalnichevski commented on HTTPCORE-755:
--------------------------------------------

[~arunans23] I seriously doubt anyone is going to look into this issue. 
HttpCore 4.x NIO is likely to be officially declared EOL this Autumn. Please 
consider upgrading to HttpCore 5.2

Oleg

> Connection gets closed prematurely before Decoder gets completed
> ----------------------------------------------------------------
>
>                 Key: HTTPCORE-755
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-755
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.4.16
>            Reporter: Arunan Sugunakumar
>            Priority: Major
>         Attachments: Jmeter_script_1.jmx, NHttpReverseProxy.zip, 
> chunk-backend.zip
>
>
> Hi,
> In httpcore-nio 4.4.16, sometimes the closed event (in 
> NHttpClientEventHandler) gets triggered before the ContentDecoder gets 
> completed. This is observed when the backend sends Chunk decoded messages and 
> immediately closes the connection. Also to reproduce the issue, we had to do 
> a load test with 20 threads and host the server and client on two different 
> virtual machines. 
> When we added debug logs, we found that the SSLIOsession goes into CLOSING 
> state[1] while there are remaining data available in the inPlain buffer. As a 
> result, the closeOutbound is called on the SSLEngine[2]. This sometimes makes 
> the HandshakeStatus into NEED_UNWRAP which makes the session go into CLOSED 
> state[3]. As a result, the session gets closed before consuming the data in 
> the inPlain buffer.
> I reproduced this scenario with the NHttpReverseProxy sample with the 
> attached backend and invoked the ReverseProxy with a Jmeter script. I placed 
> the backend jar in another server and the Proxy sample in another and invoked 
> the Jmeter client from the local machine. 
>  
> The issue does not occur in httpcore-nio 4.4.9 but only from 4.4.10. This is 
> occurring because we are making the session go into CLOSING state for 
> endOfStream with this commit[4].
> [1] - 
> [https://github.com/apache/httpcomponents-core/blob/4.4.x/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java#L387]
> [2] - 
> [https://github.com/apache/httpcomponents-core/blob/4.4.x/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java#L390]
> [3] - 
> [https://github.com/apache/httpcomponents-core/blob/4.4.x/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java#L401]
> [4] - 
> [https://github.com/apache/httpcomponents-core/commit/08d9c3c30d57def4963d0807bce5f3023f5fcb35]
>  
> Regards,
> Arunan



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to