You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "silver9886 (JIRA)" <ji...@apache.org> on 2017/08/29 13:01:00 UTC

[jira] [Created] (HTTPCORE-486) SingleCoreIOReactor.processPendingChannels and processPendingConnectionRequests should setting time limit

silver9886 created HTTPCORE-486:
-----------------------------------

             Summary: SingleCoreIOReactor.processPendingChannels and processPendingConnectionRequests should setting time limit
                 Key: HTTPCORE-486
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-486
             Project: HttpComponents HttpCore
          Issue Type: Improvement
          Components: HttpCore NIO
    Affects Versions: 5.0-alpha3
            Reporter: silver9886


in processPendingChannels method
 while ((socketChannel = this.channelQueue.poll()) != null) {
}
do not have the time limit.If there are too many socketChannel  in the channelQueue
or there is channelQueue.add in the loop,the SingleCoreIOReactor time will be exhausted
.That's will block the remaining work to do.
I suggest using the following code:
for (int i = 0 ;i < 100000 && (socketChannel = this.channelQueue.poll()) != null;++i) {
}
the processPendingConnectionRequests method is the same



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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