[ 
https://issues.apache.org/jira/browse/HADOOP-5214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672509#action_12672509
 ] 

Vinod K V commented on HADOOP-5214:
-----------------------------------


Here's the trace.
{code}
2009-02-08 16:27:57,496 ERROR org.apache.hadoop.mapred.FairScheduler: Failed to 
update fair share calculations
java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
        at java.util.HashMap$ValueIterator.next(HashMap.java:822)
        at 
org.apache.hadoop.mapred.FairScheduler.getTotalSlots(FairScheduler.java:703)
        at 
org.apache.hadoop.mapred.FairScheduler.updateFairShares(FairScheduler.java:622)
        at org.apache.hadoop.mapred.FairScheduler.update(FairScheduler.java:358)
        at 
org.apache.hadoop.mapred.FairScheduler$UpdateThread.run(FairScheduler.java:212)
2009-02-08 16:27:57,500 ERROR org.apache.hadoop.mapred.JobTracker: Tracker 
Expiry Thread got exception: java.lang.NullPointerException
{code}

And the underlying problem is that getTotalSlots gets the list of trackers via 
TaskTrackerManager.taskTrackers() and iterates through it to calculate the 
total number of map and reduce slots in the cluster. The exception occurs when 
JT internally modifies the list of TaskTrackers for e.g while updating the list 
of lost TaskTrackers.

This information is already available via ClusterStatus. Using it will fix the 
issue.

> ConcurrentModificationException in FairScheduler.getTotalSlots
> --------------------------------------------------------------
>
>                 Key: HADOOP-5214
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5214
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/fair-share
>            Reporter: Vinod K V
>


-- 
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