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

Allen Wittenauer resolved MAPREDUCE-2098.
-----------------------------------------

    Resolution: Incomplete

Closing as stale.

> Extra url encoding makes jobdetailshistory.jsp report FileNotFoundException
> ---------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2098
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2098
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker
>    Affects Versions: 0.20.2
>            Reporter: Ted Yu
>
> In cdh3b2, when viewing 
> :50030/jobdetailshistory.jsp?jobid=job_201009172356_0007&logFile=file%3A%2Fopt%2Fmsip%2Fclients%2FCIQ-Performance%2Fm2mDeployment%2Fhadoop%2Flogs%2Fhistory%2Fdone%2Fus01-ciqps1-name01.carrieriq.com_1284767796615_job_201009172356_0007_hadoop_flow-dca_evdo_m2m_trunk-4%252B%252523%252BpppEndFiltering-job%252B%252528d,
>  we got:
> java.io.FileNotFoundException: File 
> file:/opt/msip/xxx/hadoop/logs/history/done/us01-ciqps1-name01.com_1284767796615_job_201009172356_0007_hadoop_flow-dca_evdo_m2m_trunk-4%2B%2523%2BpppEndFiltering-job%2B%2528d
>  does not exist.
>       at 
> org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:372)
>       at 
> org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
>       at 
> org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.(ChecksumFileSystem.java:126)
>       at 
> org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:284)
>       at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:398)
>       at 
> org.apache.hadoop.mapred.JobHistory.parseHistoryFromFS(JobHistory.java:405)
>       at 
> org.apache.hadoop.mapred.DefaultJobHistoryParser.parseJobTasks(DefaultJobHistoryParser.java:50)
>       at 
> org.apache.hadoop.mapred.loadhistory_jsp._jspService(loadhistory_jsp.java:89)
>       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>       at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)
>       at 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>       at 
> org.apache.hadoop.mapred.jobdetailshistory_jsp._jspService(jobdetailshistory_jsp.java:57)
>       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:324)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>       at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
> But 
> us01-ciqps1-name01.carrieriq.com_1284767796615_job_201009172356_0007_hadoop_flow-dca_evdo_m2m_trunk-4+%23+pppEndFiltering-job+%28d
>  exists under hadoop/logs/history/done
> The issue was due to double encoding.
> In jobhistory.jsp, line 237:
>       String encodedJobFileName =
>           JobHistory.JobInfo.encodeJobHistoryFileName(jobFile.getName());
> Then MAPREDUCE-1378 encodes the filename again.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to