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

Raghu Angadi updated HADOOP-3010:
---------------------------------

    Attachment: HADOOP-3010.patch

Patch attached. Server synchronizes on selector.keys() when it iterates over it 
once every few seconds.  JavaDoc for Selector says we need to synchronize on 
these sets while accessing them. In this perticular case, IPC handler could 
enqueue more connections (thus modifying selector.keys()) while Responder 
iterates over them.

With some artificial sleeps I verified these exceptions show up before the 
patch and disappear after.

Regd unit test, I think this was straight forward incorrect access of an object 
and we are correcting it. I don't think this requires a unit test, as such it 
is not easy to trigger this reliably.

> ConcurrentModificationException from org.apache.hadoop.ipc.Server$Responder 
> in JobTracker
> -----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-3010
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3010
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 0.16.1
>            Reporter: Amar Kamat
>            Assignee: Raghu Angadi
>             Fix For: 0.17.0
>
>         Attachments: HADOOP-3010.patch
>
>
> I see lot of these in my JobTracker log 
> {noformat}
> WARN org.apache.hadoop.ipc.Server: Exception in Responder 
> java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>         at java.util.HashMap$KeyIterator.next(HashMap.java:827)
>         at 
> java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
>         at org.apache.hadoop.ipc.Server$Responder.run(Server.java:475)
> {noformat}

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

Reply via email to