[GitHub] [hbase] ramkrish86 commented on a change in pull request #1747: HBASE-24405 : Document hbase:slowlog related operations

2020-05-21 Thread GitBox


ramkrish86 commented on a change in pull request #1747:
URL: https://github.com/apache/hbase/pull/1747#discussion_r429048682



##
File path: src/main/asciidoc/_chapters/hbase-default.adoc
##
@@ -2246,6 +2246,23 @@ The percent of region server RPC threads failed to abort 
RS.
 `false`
 
 
+[[hbase.regionserver.slowlog.systable.enabled]]
+*`hbase.regionserver.slowlog.systable.enabled`*::
++
+.Description
+
+  Should be enabled only if hbase.regionserver.slowlog.buffer.enabled is 
enabled.
+  If enabled (true), all slow/large RPC logs would be persisted to system 
table
+  hbase:slowlog (in addition to in-memory ring buffer at each 
RegionServer).
+  The records are stored in increasing order of time.
+  Operators can scan the table with various combination of 
ColumnValueFilter.

Review comment:
   Generally i feel that the querying will be like for given time range 
give me all the slow logs? Then they can drill down. So if they want to query 
with TS they can specify the Time range correct? Probably you can provide a 
sample input and output for that too. 





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [hbase] ramkrish86 commented on a change in pull request #1747: HBASE-24405 : Document hbase:slowlog related operations

2020-05-21 Thread GitBox


ramkrish86 commented on a change in pull request #1747:
URL: https://github.com/apache/hbase/pull/1747#discussion_r429048211



##
File path: src/main/asciidoc/_chapters/ops_mgt.adoc
##
@@ -2079,6 +2079,98 @@ Examples:
 
 
 
+[[slow_log_responses_from_systable]]
+ Get Slow/Large Response Logs from System table hbase:slowlog
+
+The above section provides details about Admin APIs:
+
+* get_slowlog_responses
+* get_largelog_responses
+* clear_slowlog_responses
+
+All of the above APIs access online in-memory ring buffers from
+individual RegionServers and accumulate logs from ring buffers to display
+to end user. However, they can only be used for an ongoing slow/large RPC calls
+and user can retrieve ongoing issues with RPC logs. After RegionServer is
+restarted, all the objects held in memory of that RegionServer will be cleaned 
up
+and previous problematic logs are lost. What if we want to persist all these 
logs?
+What if we want to store them in such a manner that operator can get all 
historical
+records with some filters? e.g get me all large/slow RPC logs that are 
triggered by
+user1 and are related to region:
+cluster_test,,1589635796466.aa45e1571d533f5ed0bb31cdccaaf9cf.
+
+If we have a system table that stores such logs in increasing (not so strictly 
though)
+order of time, it can definitely help operators debug some historical events
+(scan, get, put, compaction, flush etc) with detailed inputs.
+
+Config which enabled system table to be created and store all log events is
+`hbase.regionserver.slowlog.systable.enabled`.
+
+The default value for this config is `false`. If provided `true`
+(Note: `hbase.regionserver.slowlog.buffer.enabled` should also be `true`),
+HMaster will create system table `hbase:slowlog` and each RegionServer, upon
+determining any slow/large RPC logs at RpcServer level, will put them in 
in-memory
+ring buffer (since `hbase.regionserver.slowlog.buffer.enabled` is true) and

Review comment:
   The one inside the () are redundant I think. You can remove them and 
still it makese sense. 





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org