From 35b47b2df67727f4b134360ee475d1d3295dbb7c Mon Sep 17 00:00:00 2001 From: Matt Warhaftig Date: Wed, 15 Jul 2015 23:00:13 -0400 Subject: [PATCH] HBASE-13838 Fix Task Monitor UI's Client Operations tab. --- .../org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmpl.jamon | 5 ++++- .../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon | 2 +- .../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon | 2 +- .../apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java | 8 ++++---- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmpl.jamon index b4a5fea..b3af5e0 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmpl.jamon @@ -25,6 +25,7 @@ org.apache.hadoop.util.StringUtils; TaskMonitor taskMonitor = TaskMonitor.get(); String filter = "general"; String format = "html"; +boolean showOperations = true; <%java> List tasks = taskMonitor.getTasks(); @@ -61,7 +62,9 @@ boolean first = true;
  • class="active">Show non-RPC Tasks
  • class="active">Show All RPC Handler Tasks
  • class="active">Show Active RPC Calls
  • + <%if showOperations%>
  • class="active">Show Client Operations
  • +
  • View as JSON
  • <%if tasks.isEmpty()%> @@ -97,5 +100,5 @@ boolean first = true; MonitoredTask.State state; <%java> if (state == MonitoredTask.State.COMPLETE) { alert alert-success<%java> } -<%java> else if (state == MonitoredTask.State.ABORTED) { alert alert-error<%java> } +<%java> else if (state == MonitoredTask.State.ABORTED) { alert alert-danger<%java> } diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon index 7cac481..a538e90 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon @@ -219,7 +219,7 @@ AssignmentManager assignmentManager = master.getAssignmentManager();
    - <& ../common/TaskMonitorTmpl; filter = filter &> + <& ../common/TaskMonitorTmpl; filter = filter ; showOperations = false &>
    diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon index 3d47643..99bbc49 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon @@ -108,7 +108,7 @@ org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
    - <& ../common/TaskMonitorTmpl; filter = filter &> + <& ../common/TaskMonitorTmpl; filter = filter ; showOperations = true &>
    diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java index 8fc1cf2..2f9a9f7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java @@ -24,6 +24,7 @@ import java.util.Map; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.client.Operation; +import org.apache.hadoop.hbase.protobuf.generated.ClientProtos; import org.apache.hadoop.hbase.util.Bytes; import com.google.protobuf.Message; @@ -162,7 +163,7 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl /** * Indicates to the client whether this task is monitoring a currently active * RPC call to a database command. (as defined by - * o.a.h.h.client.Operation) + * the Client.proto Protocol Buffer) * @return true if the monitored handler is currently servicing an RPC call * to a database command. */ @@ -171,7 +172,8 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl return false; } for(Object param : params) { - if (param instanceof Operation) { + Class declaringCls = param.getClass().getDeclaringClass(); + if (declaringCls != null && declaringCls.equals(ClientProtos.class)) { return true; } } @@ -237,8 +239,6 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl for(Object param : params) { if(param instanceof byte []) { paramList.add(Bytes.toStringBinary((byte []) param)); - } else if (param instanceof Operation) { - paramList.add(((Operation) param).toMap()); } else { paramList.add(param.toString()); } -- 2.3.2 (Apple Git-55)