Arunan Sugunakumar created HTTPCORE-706:
-------------------------------------------

             Summary: Receiving incomplete payload from the backend after 
httpcore-nio version upgrade
                 Key: HTTPCORE-706
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-706
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.4.15
            Reporter: Arunan Sugunakumar


Hi,

We recently migrated to httpcore-nio 4.4.14 and we have been encountering some 
issues when connecting to a HTTPS Backend that sends chunked responses. The 
backend behaves in such a manner that when it sends the response, it 
immediately closes the connection after completion. 

When we debugged the code we found out that the ChunkDecoder never completes, 
hence we are receiving the payload in half. In SSLEnginImpl, when the 
close_notify event _"RECV TLSv1.2 ALERT:  warning, close_notify"_ is received, 
it makes the _sslEngine.isInboundDone()_ as true. There are couples of 
fixes[1][2] done in SSLIOSession class which makes the SSLIOSession into 
_CLOSING_ state[3] and makes _endOfStream_ as true[4]. As a result, 
ChunkDecoder never gets completed and the connection gets closed before 
receiving the complete payload. This worked completely fine when we were using 
httpcore-nio 4.3.3.

I will try to provide a simplified version of the code that reproduces the 
issue. In the meantime, is it possible to provide your feedback on whether such 
behavior is expected?

[1] - 
https://github.com/apache/httpcomponents-core/commit/08d9c3c30d57def4963d0807bce5f3023f5fcb35

[2] - 
[https://github.com/apache/httpcomponents-core/commit/01f3d30cfa3b1bf643a8ea5733fdd3bde8c56abd]

[3] - 
[https://github.com/apache/httpcomponents-core/blob/4.4.14-RC2/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java#L380]

[4] - 
[https://github.com/apache/httpcomponents-core/blob/4.4.14-RC2/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java#L527]

 

Thanks & Regards,
Arunan



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to