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

Harsh J updated MAPREDUCE-3674:
-------------------------------

    Target Version/s:   (was: 1.1.0)
    
> If invoked with no queueName request param, jobqueue_details.jsp injects a 
> null queue name into schedulers.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3674
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3674
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker
>    Affects Versions: 1.0.0
>            Reporter: Harsh J
>            Assignee: Harsh J
>            Priority: Critical
>             Fix For: 1.1.0
>
>         Attachments: MAPREDUCE-3674.patch, MAPREDUCE-3674.patch, 
> MAPREDUCE-3674.patch, MAPREDUCE-3674.patch, hadoop-findbugs-report.html
>
>
> When you access /jobqueue_details.jsp manually, instead of via a link, it has 
> queueName set to null internally and this goes for a lookup into the 
> scheduling info maps as well.
> As a result, if using FairScheduler, a Pool with String name = null gets 
> created and this brings the scheduler down. I have not tested what happens to 
> the CapacityScheduler, but ideally if no queueName is set in that jsp, it 
> should fall back to 'default'. Otherwise, this brings down the JobTracker 
> completely.
> FairScheduler must also add a check to not create a pool with 'null' name.
> The following is the strace that ensues:
> {code}
> ERROR org.mortbay.log: /jobqueue_details.jsp 
> java.lang.NullPointerException 
> at 
> org.apache.hadoop.mapred.jobqueue_005fdetails_jsp._jspService(jobqueue_005fdetails_jsp.java:71)
>  
> 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:511) 
> at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
>  
> at 
> org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:829)
>  
> at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>  
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) 
> at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) 
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) 
> 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:326) 
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
> at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>  
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) 
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
> at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) 
> at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 
> INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 9001, call 
> heartbeat from XYZ:MNOP: error: java.io.IOException: 
> java.lang.NullPointerException 
> java.io.IOException: java.lang.NullPointerException 
> at 
> org.apache.hadoop.mapred.SchedulingAlgorithms$FairShareComparator.compare(SchedulingAlgorithms.java:95)
>  
> at 
> org.apache.hadoop.mapred.SchedulingAlgorithms$FairShareComparator.compare(SchedulingAlgorithms.java:68)
>  
> at java.util.Arrays.mergeSort(Unknown Source) 
> at java.util.Arrays.sort(Unknown Source) 
> at java.util.Collections.sort(Unknown Source) 
> at org.apache.hadoop.mapred.FairScheduler.assignTasks(FairScheduler.java:435) 
> at org.apache.hadoop.mapred.JobTracker.heartbeat(JobTracker.java:3226) 
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) 
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> at java.lang.reflect.Method.invoke(Unknown Source) 
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:557) 
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1434) 
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1430) 
> at java.security.AccessController.doPrivileged(Native Method) 
> at javax.security.auth.Subject.doAs(Unknown Source) 
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
>  
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1428)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to