This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit bd9b6d588dd0b07392e823ffc0cae3d9fce1a6b1
Author: Junegunn Choi <[email protected]>
AuthorDate: Sat Mar 1 01:07:02 2025 +0900

    HBASE-29066 Fix NPE in rits.jsp when regions are not open (#6594)
    
    Signed-off-by: Duo Zhang <[email protected]>
    (cherry picked from commit fd50561a099a5b3b44b209d5b806e70f24c2aa9c)
---
 .../apache/hadoop/hbase/master/assignment/RegionStateNode.java    | 8 ++++++++
 hbase-server/src/main/resources/hbase-webapps/master/rits.jsp     | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateNode.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateNode.java
index abfe8b40435..402c22ac9ed 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateNode.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateNode.java
@@ -245,6 +245,14 @@ public class RegionStateNode implements 
Comparable<RegionStateNode> {
     return regionLocation;
   }
 
+  public String getRegionServerName() {
+    ServerName sn = getRegionLocation();
+    if (sn != null) {
+      return sn.getServerName();
+    }
+    return null;
+  }
+
   public State getState() {
     return state;
   }
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/rits.jsp 
b/hbase-server/src/main/resources/hbase-webapps/master/rits.jsp
index 802a66b5890..41c4ba85700 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/rits.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/rits.jsp
@@ -97,7 +97,7 @@
                 <td><%= regionStateNode.getRegionInfo().getEncodedName() 
%></td>
                 <td><%= regionStateNode.getRegionInfo().getTable() %></td>
                 <td><%= regionStateNode.getState() %></td>
-                <td><%= regionStateNode.getRegionLocation().getServerName() 
%></td>
+                <td><%= regionStateNode.getRegionServerName() %></td>
                 <%
                     TransitRegionStateProcedure procedure = 
regionStateNode.getProcedure();
 
@@ -134,7 +134,7 @@
             r.put("region", regionStateNode.getRegionInfo().getEncodedName());
             r.put("table", 
regionStateNode.getRegionInfo().getTable().getNameAsString());
             r.put("state", regionStateNode.getState());
-            r.put("server", 
regionStateNode.getRegionLocation().getServerName());
+            r.put("server", regionStateNode.getRegionServerName());
 
             TransitRegionStateProcedure procedure = 
regionStateNode.getProcedure();
             if (procedure != null) {

Reply via email to