[ https://issues.apache.org/jira/browse/HADOOP-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arun C Murthy updated HADOOP-1176: ---------------------------------- Attachment: jetty-exception.log Uh oh, looks like a blocker from Jetty which can't seem to handle >2G files... :( Thanks to Hairong for helping test my patch. Summary: java.lang.NumberFormatException: For input string: "13130336782" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48 ) at java.lang.Integer.parseInt(Integer.java:459) at java.lang.Integer.parseInt(Integer.java:497) at org.mortbay.http.HttpFields.getIntField(HttpFields.java:986) at org.mortbay.http.HttpMessage.getIntField(HttpMessage.java:333) at org.mortbay.http.HttpConnection.firstWrite(HttpConnection.java:599) at org.mortbay.http.HttpConnection.outputNotify(HttpConnection.java:556) at org.mortbay.http.HttpOutputStream.notify(HttpOutputStream.java:546) at org.mortbay.http.HttpOutputStream.prepareOutput(HttpOutputStream.java:457) at org.mortbay.http.HttpOutputStream.write(HttpOutputStream.java:421) at org.mortbay.jetty.servlet.ServletOut.write(ServletOut.java:54) at org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:1675) Basically: org.mortbay.http.HttpConnection.firstWrite(HttpConnection.java:599) assumes that 'Content-Length' header is an 'integer' which invalidates my earlier patch which removed that assumption in org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:1675). Looks quite tricky to fix; maybe we need to invest time trying to override the protected jetty method: org.mortbay.http.HttpConnection.firstWrite() - ugly, no? Thoughts? > Reduce hang on huge map output > ------------------------------ > > Key: HADOOP-1176 > URL: https://issues.apache.org/jira/browse/HADOOP-1176 > Project: Hadoop > Issue Type: Bug > Components: mapred > Affects Versions: 0.12.2 > Reporter: Hairong Kuang > Assigned To: Arun C Murthy > Fix For: 0.13.0 > > Attachments: HADOOP-1176_20070405_1.patch, > HADOOP-1176_20070406_2.patch, jetty-exception.log > > > I ran a job with one map and one reduce. The map succeeded, producing 3G > output. The reducer hang on fetching the map output. The log shows the > following error message: > WARN org.apache.hadoop.mapred.TaskTracker: > getMapOutput(task_0401_m_000000_0,0) failed : > java.net.SocketException: Connection reset > at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96) > at java.net.SocketOutputStream.write(SocketOutputStream.java:136) > at > org.mortbay.http.ChunkingOutputStream.bypassWrite(ChunkingOutputStream.java:151) > at > org.mortbay.http.BufferedOutputStream.write(BufferedOutputStream.java:139) > at org.mortbay.http.HttpOutputStream.write(HttpOutputStream.java:423) > at org.mortbay.jetty.servlet.ServletOut.write(ServletOut.java:54) > at > org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:1664) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > 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) > WARN /: /mapOutput?map=task_0401_m_000000_0&reduce=0: > java.lang.IllegalStateException: Committed > at > org.mortbay.jetty.servlet.ServletHttpResponse.resetBuffer(ServletHttpResponse.java:212) > at > org.mortbay.jetty.servlet.ServletHttpResponse.sendError(ServletHttpResponse.java:375) > at > org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:1694) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > 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.