You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2007/01/25 11:33:49 UTC

[jira] Assigned: (HTTPCORE-31) ConcurrentModificationException thrown by DefaultConnectingIOReactor.processTimeouts() when 2 worker threads are used

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

Oleg Kalnichevski reassigned HTTPCORE-31:
-----------------------------------------

    Assignee: Oleg Kalnichevski

Asankha,
It can well be that HTTPCORE-28 also fixed this bug, as I am currently unable to reproduce the problem. I'll be adding more test coverage for the NIO extensions in the coming days and hopefully there will be enough evidence that the bug is gone.

Oleg

> ConcurrentModificationException thrown by DefaultConnectingIOReactor.processTimeouts() when 2 worker threads are used
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-31
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-31
>             Project: HttpComponents Core
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0-alpha4
>            Reporter: Asankha C. Perera
>         Assigned To: Oleg Kalnichevski
>
> I am seeing a ConcurrentModificationException thrown by DefaultConnectingIOReactor.processTimeouts() when a load test is being performed. The Javadocs for the Selector.keys() states that the returned Set is not directly modifiable, but a key is removed only after it has been cancelled and its channel deregistered. I have started the DefaultConnectingIOReactor with two worker nodes
> Exception in thread "HttpCoreNIOSender" java.util.ConcurrentModificationException
>        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:841)
>        at java.util.HashMap$KeyIterator.next(HashMap.java:877)
>        at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
>        at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.processTimeouts(DefaultConnectingIOReactor.java:151)
>        at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.execute(DefaultConnectingIOReactor.java:92)
>        at org.apache.axis2.transport.nhttp.HttpCoreNIOSender.executeClientEngine(HttpCoreNIOSender.java:103)
>        at org.apache.axis2.transport.nhttp.HttpCoreNIOSender.access$000(HttpCoreNIOSender.java:57)
>        at org.apache.axis2.transport.nhttp.HttpCoreNIOSender$1.run(HttpCoreNIOSender.java:80)
>        at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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