HBASE-20298 Doc change in read/write/total accounting metrics

Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b1b0db31
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b1b0db31
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b1b0db31

Branch: refs/heads/HBASE-19064
Commit: b1b0db3195e08cd3742767996914e2ffa99f40cb
Parents: 6318e3b
Author: Michael Stack <st...@apache.org>
Authored: Tue Mar 27 14:50:00 2018 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Tue Apr 3 17:00:43 2018 -0700

----------------------------------------------------------------------
 .../regionserver/MetricsRegionServerSource.java | 32 +++++++++++---------
 .../ipc/FastPathBalancedQueueRpcExecutor.java   |  3 +-
 .../hbase/regionserver/HRegionServer.java       | 14 ++-------
 src/main/asciidoc/_chapters/upgrading.adoc      |  6 ++++
 4 files changed, 28 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b1b0db31/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
----------------------------------------------------------------------
diff --git 
a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
 
b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
index 9a826e7..4636fe0 100644
--- 
a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
+++ 
b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
@@ -238,26 +238,30 @@ public interface MetricsRegionServerSource extends 
BaseSource, JvmPauseMonitorSo
   String MIN_STORE_FILE_AGE = "minStoreFileAge";
   String AVG_STORE_FILE_AGE = "avgStoreFileAge";
   String NUM_REFERENCE_FILES = "numReferenceFiles";
-  String MAX_STORE_FILE_AGE_DESC = "Max age of store files hosted on this 
region server";
-  String MIN_STORE_FILE_AGE_DESC = "Min age of store files hosted on this 
region server";
-  String AVG_STORE_FILE_AGE_DESC = "Average age of store files hosted on this 
region server";
-  String NUM_REFERENCE_FILES_DESC = "Number of reference file on this region 
server";
+  String MAX_STORE_FILE_AGE_DESC = "Max age of store files hosted on this 
RegionServer";
+  String MIN_STORE_FILE_AGE_DESC = "Min age of store files hosted on this 
RegionServer";
+  String AVG_STORE_FILE_AGE_DESC = "Average age of store files hosted on this 
RegionServer";
+  String NUM_REFERENCE_FILES_DESC = "Number of reference file on this 
RegionServer";
   String STOREFILE_SIZE_DESC = "Size of storefiles being served.";
   String TOTAL_REQUEST_COUNT = "totalRequestCount";
   String TOTAL_REQUEST_COUNT_DESC =
-      "Total number of requests this RegionServer has answered.";
+      "Total number of requests this RegionServer has answered; increments the 
count once for " +
+          "EVERY access whether an admin operation, a Scan, a Put or Put of 1M 
rows, or a Get " +
+          "of a non-existent row";
   String TOTAL_ROW_ACTION_REQUEST_COUNT = "totalRowActionRequestCount";
   String TOTAL_ROW_ACTION_REQUEST_COUNT_DESC =
-      "Total number of region requests this RegionServer has answered, count 
by row-level action";
+      "Total number of region requests this RegionServer has answered; counts 
by row-level " +
+          "action at the RPC Server (Sums 'readRequestsCount' and 
'writeRequestsCount'); counts" +
+          "once per access whether a Put of 1M rows or a Get that returns 1M 
Results";
   String READ_REQUEST_COUNT = "readRequestCount";
   String READ_REQUEST_COUNT_DESC =
-      "Number of read requests this region server has answered.";
+      "Number of read requests with non-empty Results that this RegionServer 
has answered.";
   String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount";
   String FILTERED_READ_REQUEST_COUNT_DESC =
-    "Number of filtered read requests this region server has answered.";
+    "Number of filtered read requests this RegionServer has answered.";
   String WRITE_REQUEST_COUNT = "writeRequestCount";
   String WRITE_REQUEST_COUNT_DESC =
-      "Number of mutation requests this region server has answered.";
+      "Number of mutation requests this RegionServer has answered.";
   String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";
   String CHECK_MUTATE_FAILED_COUNT_DESC =
       "Number of Check and Mutate calls that failed the checks.";
@@ -527,17 +531,17 @@ public interface MetricsRegionServerSource extends 
BaseSource, JvmPauseMonitorSo
     = "Total number of bytes that is output from compaction, major only";
 
   String RPC_GET_REQUEST_COUNT = "rpcGetRequestCount";
-  String RPC_GET_REQUEST_COUNT_DESC = "Number of rpc get requests this region 
server has answered.";
+  String RPC_GET_REQUEST_COUNT_DESC = "Number of rpc get requests this 
RegionServer has answered.";
   String RPC_SCAN_REQUEST_COUNT = "rpcScanRequestCount";
   String RPC_SCAN_REQUEST_COUNT_DESC =
-      "Number of rpc scan requests this region server has answered.";
+      "Number of rpc scan requests this RegionServer has answered.";
   String RPC_MULTI_REQUEST_COUNT = "rpcMultiRequestCount";
   String RPC_MULTI_REQUEST_COUNT_DESC =
-      "Number of rpc multi requests this region server has answered.";
+      "Number of rpc multi requests this RegionServer has answered.";
   String RPC_MUTATE_REQUEST_COUNT = "rpcMutateRequestCount";
   String RPC_MUTATE_REQUEST_COUNT_DESC =
-      "Number of rpc mutation requests this region server has answered.";
+      "Number of rpc mutation requests this RegionServer has answered.";
   String AVERAGE_REGION_SIZE = "averageRegionSize";
   String AVERAGE_REGION_SIZE_DESC =
-      "Average region size over the region server including memstore and 
storefile sizes.";
+      "Average region size over the RegionServer including memstore and 
storefile sizes.";
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/b1b0db31/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FastPathBalancedQueueRpcExecutor.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FastPathBalancedQueueRpcExecutor.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FastPathBalancedQueueRpcExecutor.java
index eaea34d..d9f9797 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FastPathBalancedQueueRpcExecutor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/FastPathBalancedQueueRpcExecutor.java
@@ -80,6 +80,7 @@ public class FastPathBalancedQueueRpcExecutor extends 
BalancedQueueRpcExecutor {
     // if an empty queue of CallRunners so we are available for direct handoff 
when one comes in.
     final Deque<FastPathHandler> fastPathHandlerStack;
     // Semaphore to coordinate loading of fastpathed loadedTask and our 
running it.
+    // UNFAIR synchronization.
     private Semaphore semaphore = new Semaphore(0);
     // The task we get when fast-pathing.
     private CallRunner loadedCallRunner;
@@ -112,7 +113,7 @@ public class FastPathBalancedQueueRpcExecutor extends 
BalancedQueueRpcExecutor {
     }
 
     /**
-     * @param task Task gotten via fastpath.
+     * @param cr Task gotten via fastpath.
      * @return True if we successfully loaded our task
      */
     boolean loadCallRunner(final CallRunner cr) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/b1b0db31/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index 54f3c8f..240de85 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -47,7 +47,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.function.Function;
 import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import javax.servlet.http.HttpServlet;
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -168,7 +167,6 @@ import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
 import org.apache.hadoop.hbase.zookeeper.ZNodePaths;
 import org.apache.hadoop.ipc.RemoteException;
-import org.apache.hadoop.metrics2.util.MBeans;
 import org.apache.hadoop.util.ReflectionUtils;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.apache.zookeeper.KeeperException;
@@ -460,11 +458,6 @@ public class HRegionServer extends HasThread implements
   protected String clusterId;
 
   /**
-   * MX Bean for RegionServerInfo
-   */
-  private ObjectName mxBean = null;
-
-  /**
    * Chore to clean periodically the moved region list
    */
   private MovedRegionsCleaner movedRegionsCleaner;
@@ -1024,12 +1017,9 @@ public class HRegionServer extends HasThread implements
         abort(prefix + t.getMessage(), t);
       }
     }
-    // Run shutdown.
-    if (mxBean != null) {
-      MBeans.unregister(mxBean);
-      mxBean = null;
+    if (this.leases != null) {
+      this.leases.closeAfterLeasesExpire();
     }
-    if (this.leases != null) this.leases.closeAfterLeasesExpire();
     if (this.splitLogWorker != null) {
       splitLogWorker.stop();
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/b1b0db31/src/main/asciidoc/_chapters/upgrading.adoc
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/_chapters/upgrading.adoc 
b/src/main/asciidoc/_chapters/upgrading.adoc
index 6f17089..acabf6c 100644
--- a/src/main/asciidoc/_chapters/upgrading.adoc
+++ b/src/main/asciidoc/_chapters/upgrading.adoc
@@ -418,11 +418,17 @@ The following metrics have changed names:
 The following metrics have changed their meaning:
 
 * The metric 'blockCacheEvictionCount' published on a per-region server basis 
no longer includes blocks removed from the cache due to the invalidation of the 
hfiles they are from (e.g. via compaction).
+* The metric 'totalRequestCount' increments once per request; previously it 
incremented by the number of `Actions` carried in the request; e.g. if a 
request was a `multi` made of four Gets and two Puts, we'd increment 
'totalRequestCount' by six; now we increment by one regardless. Expect to see 
lower values for this metric in hbase-2.0.0.
+* The 'readRequestCount' now counts reads that return a non-empty row where in 
older hbases, we'd increment 'readRequestCount' whether a Result or not. This 
change will flatten the profile of the read-requests graphs if requests for 
non-existent rows. A YCSB read-heavy workload can do this dependent on how the 
database was loaded.
 
 The following metrics have been removed:
 
 * Metrics related to the Distributed Log Replay feature are no longer present. 
They were previsouly found in the region server context under the name 
'replay'. See the section [[upgrade2.0.distributed.log.replay]] for details.
 
+The following metrics have been added:
+
+* 'totalRowActionRequestCount' is a count of region row actions summing reads 
and writes.
+
 [[upgrade2.0.zkconfig]]
 .ZooKeeper configs no longer read from zoo.cfg
 

Reply via email to