[ https://issues.apache.org/jira/browse/HBASE-28778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
guluo updated HBASE-28778: -------------------------- Description: The reason: For table.jsp, NPE may occur when calling master.getConnection() while Master is initializing. asyncClusterConnection will only be initialized when HMaster call method setupClusterConnection, so before that, asyncClusterConnection is null, at this moment, we would get NPE if opening table.jsp. procedure.jsp and master-status may also encounter NPE for the similar reason. Error Message: java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.hbase.procedure2.ProcedureExecutor.getProcedures()" because "procExecutor" is null at org.apache.hadoop.hbase.generated.master.procedures_jsp._jspService(procedures_jsp.java:76) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450) at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) at org.apache.hadoop.hbase.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:117) at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 2024-08-13T20:41:40,056 WARN [qtp463313451-80] server.HttpChannel: /master-status java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.hbase.master.assignment.RegionStateNode.isInState(org.apache.hadoop.hbase.master.RegionState$State[])" because "rsn" is null at org.apache.hadoop.hbase.master.http.MasterStatusServlet.getMetaLocationOrNull(MasterStatusServlet.java:80) ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT] at org.apache.hadoop.hbase.master.http.MasterStatusServlet.doGet(MasterStatusServlet.java:60) ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0] at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[hbase-shaded-jetty-4.1.7.jar:?] at org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) ~[hbase-shaded-jetty-4.1.7.jar:?] at org.apache.hadoop.hbase.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:117) ~[hbase-http-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT] was: The reason: For table.jsp, NPE may occur when calling master.getConnection() while Master is initializing. asyncClusterConnection will only be initialized when HMaster call method setupClusterConnection, so before that, asyncClusterConnection is null, at this moment, we would get NPE if opening table.jsp. procedure.jsp and master-status may also encounter NPE for the similar reason. > NPE may occur when opening master-status or table.jsp or procedure.jsp while > Master is initializing > --------------------------------------------------------------------------------------------------- > > Key: HBASE-28778 > URL: https://issues.apache.org/jira/browse/HBASE-28778 > Project: HBase > Issue Type: Bug > Components: UI > Reporter: guluo > Priority: Major > > The reason: > For table.jsp, NPE may occur when calling master.getConnection() while > Master is initializing. > asyncClusterConnection will only be initialized when HMaster call method > setupClusterConnection, > so before that, asyncClusterConnection is null, at this moment, we would get > NPE if opening table.jsp. > procedure.jsp and master-status may also encounter NPE for the similar reason. > > Error Message: > java.lang.NullPointerException: Cannot invoke > "org.apache.hadoop.hbase.procedure2.ProcedureExecutor.getProcedures()" > because "procExecutor" is null at > org.apache.hadoop.hbase.generated.master.procedures_jsp._jspService(procedures_jsp.java:76) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at > org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450) > at > org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) > at > org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) > at > org.apache.hadoop.hbase.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:117) > at > org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) > > 2024-08-13T20:41:40,056 WARN [qtp463313451-80] server.HttpChannel: > /master-status > java.lang.NullPointerException: Cannot invoke > "org.apache.hadoop.hbase.master.assignment.RegionStateNode.isInState(org.apache.hadoop.hbase.master.RegionState$State[])" > because "rsn" is null > at > org.apache.hadoop.hbase.master.http.MasterStatusServlet.getMetaLocationOrNull(MasterStatusServlet.java:80) > ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT] > at > org.apache.hadoop.hbase.master.http.MasterStatusServlet.doGet(MasterStatusServlet.java:60) > ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) > ~[javax.servlet-api-3.1.0.jar:3.1.0] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) > ~[javax.servlet-api-3.1.0.jar:3.1.0] > at > org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) > ~[hbase-shaded-jetty-4.1.7.jar:?] > at > org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) > ~[hbase-shaded-jetty-4.1.7.jar:?] > at > org.apache.hadoop.hbase.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:117) > ~[hbase-http-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT] > > -- This message was sent by Atlassian Jira (v8.20.10#820010)