[ 
https://issues.apache.org/jira/browse/HADOOP-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485575
 ] 

Owen O'Malley commented on HADOOP-1011:
---------------------------------------

I like Tahir's patch better than blindly replacing with synchronized maps. The 
problem with synchronized maps is that often the locking is too fine grained 
and maps that are supposed to stay in sync with each other are locked 
independently. 

> ConcurrentModificationException in JobHistory
> ---------------------------------------------
>
>                 Key: HADOOP-1011
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1011
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.11.1
>            Reporter: Nigel Daley
>         Assigned To: Tahir Hashmi
>         Attachments: 1011.patch, 1011.patch
>
>
> Using the jobtracker web ui to look at job history.  Loading multiple history 
> URLs concurrently in differnt browser windows yielded this exception in the 
> jobtracker log:
> 2007-02-12 21:49:00,574 WARN /: 
> /taskdetailshistory.jsp?jobid=job_0001&jobTrackerId=1171157609392&taskid=tip_0001_m_002660:
> java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
>         at java.util.HashMap$EntryIterator.next(HashMap.java:829)
>         at java.util.HashMap$EntryIterator.next(HashMap.java:827)
>         at java.util.HashMap.putAll(HashMap.java:515)
>         at 
> org.apache.hadoop.mapred.JobHistory$KeyValuePair.set(JobHistory.java:263)
>         at 
> org.apache.hadoop.mapred.JobHistory$KeyValuePair.handle(JobHistory.java:270)
>         at 
> org.apache.hadoop.mapred.DefaultJobHistoryParser$JobTasksParseListener.handle(DefaultJobHistoryParser.java:98)
>         at org.apache.hadoop.mapred.JobHistory.parseLine(JobHistory.java:150)
>         at 
> org.apache.hadoop.mapred.JobHistory.parseHistory(JobHistory.java:125)
>         at 
> org.apache.hadoop.mapred.DefaultJobHistoryParser.parseJobTasks(DefaultJobHistoryParser.java:38)
>         at 
> org.apache.hadoop.mapred.loadhistory_jsp._jspService(loadhistory_jsp.java:83)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:475)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:275)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:161)
>         at 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at 
> org.apache.hadoop.mapred.taskdetailshistory_jsp._jspService(taskdetailshistory_jsp.java:73)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:475)
>         at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
>         at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:954)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:814)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831)
>         at 
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

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