[
https://issues.apache.org/jira/browse/HTTPCORE-687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18094124#comment-18094124
]
ASF subversion and git services commented on HTTPCORE-687:
----------------------------------------------------------
Commit 2d03d03bfb3a5d5deb82c96e2bc440fd91519b1d in httpcomponents-core's branch
refs/heads/4.4.x from Oleg Kalnichevski
[ https://gitbox.apache.org/repos/asf?p=httpcomponents-core.git;h=2d03d03bf ]
HTTPCORE-687: non-blocking SSL I/O session can enter a tight loop if the SSL
session gets closed by the protocol layer while there is still unprocessed data
stuck in the protocol session buffer
> High CPU usage noticed for requests with newline characters
> -----------------------------------------------------------
>
> Key: HTTPCORE-687
> URL: https://issues.apache.org/jira/browse/HTTPCORE-687
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Components: HttpCore, HttpCore NIO
> Affects Versions: 4.4.14
> Environment: Oracle JDK 1.8.0_211
> Oracle JDK 11.0.9
> Reporter: Mushthaq Rumy
> Priority: Major
> Fix For: 4.4.15
>
> Attachments: CPUHigh-ScreenRecording.mov, FixCPUSpike.png,
> HttpNIOTestServer.zip, testclient 2.zip, testclient 3.zip
>
>
> We are using the 4.4.14 of HttpCore NIO. We are having an issue while sending
> a request to the server with additional newline characters where the CPU
> usage seems to increase and stays on forever. We debugged and found out that
> after the HTTPS response is written back to the client, the server tries to
> close the connection and the SSLIOSession. Furthermore, we found out that the
> condition [1] which gets executed in order to make the state as closed
> becomes false forever and hence it keeps on trying to close and results in
> the CPU spike.
> After further debugging we found out that the after a certain point the
> *position* is always less than the *limit* and the state is set to
> *COMPLETED* in the parse method of AbstractMessageParser.java [2], even
> though there are more lines to be read.
> In order to resolve this we did a small fix as shown in *FixCPUSpike.png.*
> We have attached a sample client and a server in order to reproduce the issue.
> Appreciate your help on this in resolving this issue.
>
> [1] -
> [https://github.com/apache/httpcomponents-core/blob/rel/v4.4.14/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java#L389]
> [2] -
> [https://github.com/apache/httpcomponents-core/blob/rel/v4.4.14/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java#L186-L241]
>
> Thanks,
> Mushthaq
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]