You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Konstantin Shvachko (Jira)" <ji...@apache.org> on 2020/04/21 01:34:00 UTC

[jira] [Commented] (HDFS-15290) NPE in HttpServer during NameNode startup

    [ https://issues.apache.org/jira/browse/HDFS-15290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17088200#comment-17088200 ] 

Konstantin Shvachko commented on HDFS-15290:
--------------------------------------------

Here is the exception. I saw it on branch-27, but it looks like we have it in all versions including trunk.
{noformat:nowrap}
2020-04-19 21:32:58,051 INFO org.apache.hadoop.hdfs.server.namenode.ImageServlet: ImageServlet allowing checkpointer: hdfs/nn01.somewhere.com
2020-04-19 21:32:58,076 WARN org.mortbay.log: /imagetransfer: java.io.IOException: PutImage failed. java.lang.NullPointerException
        at org.apache.hadoop.hdfs.server.namenode.ImageServlet.validateRequest(ImageServlet.java:216)
        at org.apache.hadoop.hdfs.server.namenode.ImageServlet.doPut(ImageServlet.java:499)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:730)
        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.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:596)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:553)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1263)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
        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.HandlerCollection.handle(HandlerCollection.java:114)
        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.content(HttpConnection.java:945)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:843)
        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)
{noformat}
It is thrown from {{ImageServlet.validateRequest()}} at line 
{code}    String myStorageInfoString = nnImage.getStorage().toColonSeparatedString();{code}
because {{nnImage}} is null.

> NPE in HttpServer during NameNode startup
> -----------------------------------------
>
>                 Key: HDFS-15290
>                 URL: https://issues.apache.org/jira/browse/HDFS-15290
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.7.8
>            Reporter: Konstantin Shvachko
>            Priority: Major
>
> When NameNode starts it first starts HttpServer, then starts loading fsImage and edits. While loading the namesystem field in NameNode is null. I saw that a StandbyNode sends a checkpoint request, which fails with NPE because NNStorage is not instantiated yet.
> We should check the NameNode startup status before accepting checkpoint requests.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org