hadoop-mapreduce-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alejandro Abdelnur (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (MAPREDUCE-4195) With invalid queueName request param, jobqueue_details.jsp shows NPE
Date Wed, 13 Jun 2012 18:01:44 GMT

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

Alejandro Abdelnur resolved MAPREDUCE-4195.
-------------------------------------------

    Resolution: Fixed

Thanks Gera. Committed to branch-1
                
> With invalid queueName request param, jobqueue_details.jsp shows NPE
> --------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4195
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4195
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker
>    Affects Versions: 1.0.0
>            Reporter: Gera Shegalov
>            Priority: Critical
>             Fix For: 1.1.0
>
>         Attachments: MR-4195, MR-4195
>
>
> 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

        

Mime
View raw message