Enabling runtime stats for hbase tables and operators This is the third set of changes to collect the runtime stats info. Part is to address the comments and suggestions from last review. 1) Instead of passing the hbase access stats entry to every htable calls, set the pointer in the EXP hbase interface layer with first init call in the tcb work methods (not the task work methods), then eventually to the htable JNI layer from getHTableClient() (sql/exp/ExpHbaseInterface.cpp). 2) Rewrite the way to construct the hbase operator names from one methord and use it for display both tdb contents and tcb stats. 3) Populate the hbase I/O bytes counter for both read and insert (sql/executor/HBaseClient_JNI.cpp). 4) Fix the problem that parsing stats variable text string could go beyond the end of the string (getSubstrInfo() in sql/executor/ExExeUtilGetStats.cpp).
Enable RMS monitoring The query execution statistics can now be obtained while the query is running via a) GET STATISTICS FOR QID <qid> b) Using STATISTICS table-valued function c) Using CLI calls – SQL_EXEC_GetStatistics2 and SQL_EXEC_GetStatisticsItems
The statistics can be viewed in accumulated, pertable, progress and operator stats format.
You can also obtain statistics for each fragment instance and process wise statistics for each operator of an active query.
Light-weight SQL Offender (LSO) feature is also enabled. With LSO, you can get 1. Queries offending CPU resource 2. Queries blocked in Trafodion Engine 3. Queries that are not active 4. Queries that haven’t finished but blocked in client 5. Queries offending memory resource
Explain in RMS feature can be enabled by setting the cqd explain_in_rms ‘on’ before compiling a query.
EXPLAIN.. FOR QID <qid> command is now supported. GET PROCESS STATISTICS FOR <pid> is also supported