You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2025/02/14 14:54:46 UTC

(hbase) branch branch-2 updated: HBASE-29038 Fix NPE in processRS.jsp due to missing MBean value (#6556)

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

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


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 7b892a25dc2 HBASE-29038 Fix NPE in processRS.jsp due to missing MBean value (#6556)
7b892a25dc2 is described below

commit 7b892a25dc2dfb4701cfb10b4695b48320b1165e
Author: Aaron Beitch <aa...@arista.com>
AuthorDate: Fri Feb 14 06:52:24 2025 -0800

    HBASE-29038 Fix NPE in processRS.jsp due to missing MBean value (#6556)
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
    (cherry picked from commit c9f7dad0c94a114ab04b5f348e555fcc12d8b8d2)
---
 .../src/main/resources/hbase-webapps/regionserver/processRS.jsp   | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hbase-server/src/main/resources/hbase-webapps/regionserver/processRS.jsp b/hbase-server/src/main/resources/hbase-webapps/regionserver/processRS.jsp
index f22358a8cc8..1058d8d15e1 100644
--- a/hbase-server/src/main/resources/hbase-webapps/regionserver/processRS.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/regionserver/processRS.jsp
@@ -33,6 +33,8 @@
 RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean();
 ObjectName jvmMetrics = new ObjectName("Hadoop:service=HBase,name=JvmMetrics");
 ObjectName rsMetrics = new ObjectName("Hadoop:service=HBase,name=RegionServer,sub=Server");
+Object pauseWarnThresholdExceeded = JSONMetricUtil.getValueFromMBean(rsMetrics, "pauseWarnThresholdExceeded");
+Object pauseInfoThresholdExceeded = JSONMetricUtil.getValueFromMBean(rsMetrics, "pauseInfoThresholdExceeded");
 
 // There is always two of GC collectors
 List<GarbageCollectorMXBean> gcBeans = JSONMetricUtil.getGcCollectorBeans();
@@ -60,7 +62,7 @@ pageContext.setAttribute("pageTitle", "Process info for PID: " + JSONMetricUtil.
         <th>Started</th>
         <th>Uptime</th>
         <th>PID</th>
-        <th>JvmPauseMonitor Count </th>
+        <th>JvmPauseMonitor Count</th>
         <th>Owner</th>
     </tr>
     <tr>
@@ -68,8 +70,8 @@ pageContext.setAttribute("pageTitle", "Process info for PID: " + JSONMetricUtil.
         <td><%= new Date(runtimeBean.getStartTime()) %></td>
         <td><%= StringUtils.humanTimeDiff(runtimeBean.getUptime()) %></td>
         <td><%= JSONMetricUtil.getProcessPID() %></td>
-        <td><%= (long)JSONMetricUtil.getValueFromMBean(rsMetrics, "pauseWarnThresholdExceeded")
-          + (long)JSONMetricUtil.getValueFromMBean(rsMetrics, "pauseInfoThresholdExceeded") %></td>
+        <td><%= pauseWarnThresholdExceeded != null && pauseInfoThresholdExceeded != null ?
+                (long)pauseWarnThresholdExceeded + (long)pauseInfoThresholdExceeded : 0 %></td>
         <td><%= runtimeBean.getSystemProperties().get("user.name") %></td>
       </tr>
   </table>