You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pv...@apache.org on 2019/12/10 10:23:15 UTC

[hive] branch master updated: HIVE-22553: Expose locks and transactions in sys db (Zoltan Chovan via Peter Vary)

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

pvary pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 6e5996f  HIVE-22553: Expose locks and transactions in sys db (Zoltan Chovan via Peter Vary)
6e5996f is described below

commit 6e5996f9b093e5f3edc1fd86c6ef2d29dbfd9bd6
Author: Zoltan Chovan <zc...@cloudera.com>
AuthorDate: Tue Dec 10 11:17:51 2019 +0100

    HIVE-22553: Expose locks and transactions in sys db (Zoltan Chovan via Peter Vary)
---
 .../upgrade/hive/hive-schema-4.0.0.hive.sql        | 169 +++++++++++++++++++++
 .../upgrade/hive/upgrade-3.1.0-to-4.0.0.hive.sql   | 168 ++++++++++++++++++++
 .../results/clientpositive/llap/resourceplan.q.out |  20 +++
 .../llap/strict_managed_tables_sysdb.q.out         |  30 ++++
 .../test/results/clientpositive/llap/sysdb.q.out   |  96 +++++++++++-
 5 files changed, 480 insertions(+), 3 deletions(-)

diff --git a/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql b/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql
index 322a447..5421d4d 100644
--- a/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql
+++ b/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql
@@ -1254,6 +1254,175 @@ FROM
   \"SCHEDULED_EXECUTIONS\""
 );
 
+CREATE EXTERNAL TABLE IF NOT EXISTS `TXNS` (
+    `TXN_ID` bigint,
+    `TXN_STATE` string,
+    `TXN_STARTED` bigint,
+    `TXN_LAST_HEARTBEAT` bigint,
+    `TXN_USER` string,
+    `TXN_HOST` string,
+    `TXN_AGENT_INFO` string,
+    `TXN_META_INFO` string,
+    `TXN_HEARTBEAT_COUNT` int,
+    `TXN_TYPE` int
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+    \"TXN_ID\",
+    \"TXN_STATE\",
+    \"TXN_STARTED\",
+    \"TXN_LAST_HEARTBEAT\",
+    \"TXN_USER\",
+    \"TXN_HOST\",
+    \"TXN_AGENT_INFO\",
+    \"TXN_META_INFO\",
+    \"TXN_HEARTBEAT_COUNT\",
+    \"TXN_TYPE\"
+FROM \"TXNS\""
+);
+
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `TXN_COMPONENTS` (
+    `TC_TXNID` bigint,
+    `TC_DATABASE` string,
+    `TC_TABLE` string,
+    `TC_PARTITION` string,
+    `TC_OPERATION_TYPE` string,
+    `TC_WRITEID` bigint
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+    \"TC_TXNID\",
+    \"TC_DATABASE\",
+    \"TC_TABLE\",
+    \"TC_PARTITION\",
+    \"TC_OPERATION_TYPE\",
+    \"TC_WRITEID\"
+FROM \"TXN_COMPONENTS\""
+);
+
+
+CREATE OR REPLACE VIEW `TRANSACTIONS` (
+    `TXN_ID`,
+    `STATE`,
+    `STARTED`,
+    `LAST_HEARTBEAT`,
+    `USER`,
+    `HOST`,
+    `AGENT_INFO`,
+    `META_INFO`,
+    `HEARTBEAT_COUNT`,
+    `TYPE`,
+    `TC_DATABASE`,
+    `TC_TABLE`,
+    `TC_PARTITION`,
+    `TC_OPERATION_TYPE`,
+    `TC_WRITEID`
+) AS
+SELECT DISTINCT
+    T.`TXN_ID`,
+    CASE WHEN T.`TXN_STATE` = 'o' THEN 'open' WHEN T.`TXN_STATE` = 'a' THEN 'aborted' WHEN T.`TXN_STATE` = 'c' THEN 'commited' ELSE 'UNKNOWN' END  AS TXN_STATE,
+    FROM_UNIXTIME(T.`TXN_STARTED`) AS TXN_STARTED,
+    FROM_UNIXTIME(T.`TXN_LAST_HEARTBEAT`) AS TXN_LAST_HEARTBEAT,
+    T.`TXN_USER`,
+    T.`TXN_HOST`,
+    T.`TXN_AGENT_INFO`,
+    T.`TXN_META_INFO`,
+    T.`TXN_HEARTBEAT_COUNT`,
+    CASE WHEN T.`TXN_TYPE` = 0 THEN 'DEFAULT' WHEN T.`TXN_TYPE` = 1 THEN 'REPL_CREATED' WHEN T.`TXN_TYPE` = 2 THEN 'READ_ONLY' WHEN T.`TXN_TYPE` = 3 THEN 'COMPACTION' END AS TXN_TYPE,
+    TC.`TC_DATABASE`,
+    TC.`TC_TABLE`,
+    TC.`TC_PARTITION`,
+    CASE WHEN TC.`TC_OPERATION_TYPE` = 's' THEN 'SELECT' WHEN TC.`TC_OPERATION_TYPE` = 'i' THEN 'INSERT' WHEN TC.`TC_OPERATION_TYPE` = 'u' THEN 'UPDATE' WHEN TC.`TC_OPERATION_TYPE` = 'c' THEN 'COMPACT' END AS OPERATION_TYPE,
+    TC.`TC_WRITEID`
+FROM `SYS`.`TXNS` AS T
+LEFT JOIN `SYS`.`TXN_COMPONENTS` AS TC ON T.`TXN_ID` = TC.`TC_TXNID`;
+
+CREATE EXTERNAL TABLE `HIVE_LOCKS` (
+    `HL_LOCK_EXT_ID` bigint,
+    `HL_LOCK_INT_ID` bigint,
+    `HL_TXNID` bigint,
+    `HL_DB` string,
+    `HL_TABLE` string,
+    `HL_PARTITION` string,
+    `HL_LOCK_STATE` string,
+    `HL_LOCK_TYPE` string,
+    `HL_LAST_HEARTBEAT` bigint,
+    `HL_ACQUIRED_AT` bigint,
+    `HL_USER` string,
+    `HL_HOST` string,
+    `HL_HEARTBEAT_COUNT` int,
+    `HL_AGENT_INFO` string,
+    `HL_BLOCKEDBY_EXT_ID` bigint,
+    `HL_BLOCKEDBY_INT_ID` bigint
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+    \"HL_LOCK_EXT_ID\",
+    \"HL_LOCK_INT_ID\",
+    \"HL_TXNID\",
+    \"HL_DB\",
+    \"HL_TABLE\",
+    \"HL_PARTITION\",
+    \"HL_LOCK_STATE\",
+    \"HL_LOCK_TYPE\",
+    \"HL_LAST_HEARTBEAT\",
+    \"HL_ACQUIRED_AT\",
+    \"HL_USER\",
+    \"HL_HOST\",
+    \"HL_HEARTBEAT_COUNT\",
+    \"HL_AGENT_INFO\",
+    \"HL_BLOCKEDBY_EXT_ID\",
+    \"HL_BLOCKEDBY_INT_ID\"
+FROM \"HIVE_LOCKS\""
+);
+
+CREATE OR REPLACE VIEW `LOCKS` (
+    `LOCK_EXT_ID`,
+    `LOCK_INT_ID`,
+    `TXNID`,
+    `DB`,
+    `TABLE`,
+    `PARTITION`,
+    `LOCK_STATE`,
+    `LOCK_TYPE`,
+    `LAST_HEARTBEAT`,
+    `ACQUIRED_AT`,
+    `USER`,
+    `HOST`,
+    `HEARTBEAT_COUNT`,
+    `AGENT_INFO`,
+    `BLOCKEDBY_EXT_ID`,
+    `BLOCKEDBY_INT_ID`
+) AS
+SELECT DISTINCT
+    HL.`HL_LOCK_EXT_ID`,
+    HL.`HL_LOCK_INT_ID`,
+    HL.`HL_TXNID`,
+    HL.`HL_DB`,
+    HL.`HL_TABLE`,
+    HL.`HL_PARTITION`,
+    CASE WHEN HL.`HL_LOCK_STATE` = 'a' THEN 'acquired' WHEN HL.`HL_LOCK_STATE` = 'w' THEN 'waiting' END AS LOCK_STATE,
+    CASE WHEN HL.`HL_LOCK_TYPE` = 'e' THEN 'exclusive' WHEN HL.`HL_LOCK_TYPE` = 'r' THEN 'shared' WHEN HL.`HL_LOCK_TYPE` = 'w' THEN 'semi-shared' END AS LOCK_TYPE,
+    FROM_UNIXTIME(HL.`HL_LAST_HEARTBEAT`),
+    FROM_UNIXTIME(HL.`HL_ACQUIRED_AT`),
+    HL.`HL_USER`,
+    HL.`HL_HOST`,
+    HL.`HL_HEARTBEAT_COUNT`,
+    HL.`HL_AGENT_INFO`,
+    HL.`HL_BLOCKEDBY_EXT_ID`,
+    HL.`HL_BLOCKEDBY_INT_ID`
+FROM SYS.`HIVE_LOCKS` AS HL;
+
 CREATE DATABASE IF NOT EXISTS INFORMATION_SCHEMA;
 
 USE INFORMATION_SCHEMA;
diff --git a/metastore/scripts/upgrade/hive/upgrade-3.1.0-to-4.0.0.hive.sql b/metastore/scripts/upgrade/hive/upgrade-3.1.0-to-4.0.0.hive.sql
index 6cb12f9..9b498d0 100644
--- a/metastore/scripts/upgrade/hive/upgrade-3.1.0-to-4.0.0.hive.sql
+++ b/metastore/scripts/upgrade/hive/upgrade-3.1.0-to-4.0.0.hive.sql
@@ -137,7 +137,175 @@ LEFT OUTER JOIN \"WM_POOL\" ON \"WM_POOL\".\"POOL_ID\" = \"WM_MAPPING\".\"POOL_I
 "
 );
 
+-- HIVE-22553
+CREATE EXTERNAL TABLE IF NOT EXISTS `TXNS` (
+    `TXN_ID` bigint,
+    `TXN_STATE` string,
+    `TXN_STARTED` bigint,
+    `TXN_LAST_HEARTBEAT` bigint,
+    `TXN_USER` string,
+    `TXN_HOST` string,
+    `TXN_AGENT_INFO` string,
+    `TXN_META_INFO` string,
+    `TXN_HEARTBEAT_COUNT` int,
+    `TXN_TYPE` int
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+    \"TXN_ID\",
+    \"TXN_STATE\",
+    \"TXN_STARTED\",
+    \"TXN_LAST_HEARTBEAT\",
+    \"TXN_USER\",
+    \"TXN_HOST\",
+    \"TXN_AGENT_INFO\",
+    \"TXN_META_INFO\",
+    \"TXN_HEARTBEAT_COUNT\",
+    \"TXN_TYPE\"
+FROM \"TXNS\""
+);
+
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `TXN_COMPONENTS` (
+    `TC_TXNID` bigint,
+    `TC_DATABASE` string,
+    `TC_TABLE` string,
+    `TC_PARTITION` string,
+    `TC_OPERATION_TYPE` string,
+    `TC_WRITEID` bigint
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+    \"TC_TXNID\",
+    \"TC_DATABASE\",
+    \"TC_TABLE\",
+    \"TC_PARTITION\",
+    \"TC_OPERATION_TYPE\",
+    \"TC_WRITEID\"
+FROM \"TXN_COMPONENTS\""
+);
+
+
+CREATE OR REPLACE VIEW `TRANSACTIONS` (
+    `TXN_ID`,
+    `STATE`,
+    `STARTED`,
+    `LAST_HEARTBEAT`,
+    `USER`,
+    `HOST`,
+    `AGENT_INFO`,
+    `META_INFO`,
+    `HEARTBEAT_COUNT`,
+    `TYPE`,
+    `TC_DATABASE`,
+    `TC_TABLE`,
+    `TC_PARTITION`,
+    `TC_OPERATION_TYPE`,
+    `TC_WRITEID`
+) AS
+SELECT DISTINCT
+    T.`TXN_ID`,
+    CASE WHEN T.`TXN_STATE` = 'o' THEN 'open' WHEN T.`TXN_STATE` = 'a' THEN 'aborted' WHEN T.`TXN_STATE` = 'c' THEN 'commited' ELSE 'UNKNOWN' END  AS TXN_STATE,
+    FROM_UNIXTIME(T.`TXN_STARTED`) AS TXN_STARTED,
+    FROM_UNIXTIME(T.`TXN_LAST_HEARTBEAT`) AS TXN_LAST_HEARTBEAT,
+    T.`TXN_USER`,
+    T.`TXN_HOST`,
+    T.`TXN_AGENT_INFO`,
+    T.`TXN_META_INFO`,
+    T.`TXN_HEARTBEAT_COUNT`,
+    CASE WHEN T.`TXN_TYPE` = 0 THEN 'DEFAULT' WHEN T.`TXN_TYPE` = 1 THEN 'REPL_CREATED' WHEN T.`TXN_TYPE` = 2 THEN 'READ_ONLY' WHEN T.`TXN_TYPE` = 3 THEN 'COMPACTION' END AS TXN_TYPE,
+    TC.`TC_DATABASE`,
+    TC.`TC_TABLE`,
+    TC.`TC_PARTITION`,
+    CASE WHEN TC.`TC_OPERATION_TYPE` = 's' THEN 'SELECT' WHEN TC.`TC_OPERATION_TYPE` = 'i' THEN 'INSERT' WHEN TC.`TC_OPERATION_TYPE` = 'u' THEN 'UPDATE' WHEN TC.`TC_OPERATION_TYPE` = 'c' THEN 'COMPACT' END AS OPERATION_TYPE,
+    TC.`TC_WRITEID`
+FROM `SYS`.`TXNS` AS T
+LEFT JOIN `SYS`.`TXN_COMPONENTS` AS TC ON T.`TXN_ID` = TC.`TC_TXNID`;
+
+CREATE EXTERNAL TABLE `HIVE_LOCKS` (
+    `HL_LOCK_EXT_ID` bigint,
+    `HL_LOCK_INT_ID` bigint,
+    `HL_TXNID` bigint,
+    `HL_DB` string,
+    `HL_TABLE` string,
+    `HL_PARTITION` string,
+    `HL_LOCK_STATE` string,
+    `HL_LOCK_TYPE` string,
+    `HL_LAST_HEARTBEAT` bigint,
+    `HL_ACQUIRED_AT` bigint,
+    `HL_USER` string,
+    `HL_HOST` string,
+    `HL_HEARTBEAT_COUNT` int,
+    `HL_AGENT_INFO` string,
+    `HL_BLOCKEDBY_EXT_ID` bigint,
+    `HL_BLOCKEDBY_INT_ID` bigint
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+    \"HL_LOCK_EXT_ID\",
+    \"HL_LOCK_INT_ID\",
+    \"HL_TXNID\",
+    \"HL_DB\",
+    \"HL_TABLE\",
+    \"HL_PARTITION\",
+    \"HL_LOCK_STATE\",
+    \"HL_LOCK_TYPE\",
+    \"HL_LAST_HEARTBEAT\",
+    \"HL_ACQUIRED_AT\",
+    \"HL_USER\",
+    \"HL_HOST\",
+    \"HL_HEARTBEAT_COUNT\",
+    \"HL_AGENT_INFO\",
+    \"HL_BLOCKEDBY_EXT_ID\",
+    \"HL_BLOCKEDBY_INT_ID\"
+FROM \"HIVE_LOCKS\""
+);
 
+CREATE OR REPLACE VIEW `LOCKS` (
+    `LOCK_EXT_ID`,
+    `LOCK_INT_ID`,
+    `TXNID`,
+    `DB`,
+    `TABLE`,
+    `PARTITION`,
+    `LOCK_STATE`,
+    `LOCK_TYPE`,
+    `LAST_HEARTBEAT`,
+    `ACQUIRED_AT`,
+    `USER`,
+    `HOST`,
+    `HEARTBEAT_COUNT`,
+    `AGENT_INFO`,
+    `BLOCKEDBY_EXT_ID`,
+    `BLOCKEDBY_INT_ID`
+) AS
+SELECT DISTINCT
+    HL.`HL_LOCK_EXT_ID`,
+    HL.`HL_LOCK_INT_ID`,
+    HL.`HL_TXNID`,
+    HL.`HL_DB`,
+    HL.`HL_TABLE`,
+    HL.`HL_PARTITION`,
+    CASE WHEN HL.`HL_LOCK_STATE` = 'a' THEN 'acquired' WHEN HL.`HL_LOCK_STATE` = 'w' THEN 'waiting' END AS LOCK_STATE,
+    CASE WHEN HL.`HL_LOCK_TYPE` = 'e' THEN 'exclusive' WHEN HL.`HL_LOCK_TYPE` = 'r' THEN 'shared' WHEN HL.`HL_LOCK_TYPE` = 'w' THEN 'semi-shared' END AS LOCK_TYPE,
+    FROM_UNIXTIME(HL.`HL_LAST_HEARTBEAT`),
+    FROM_UNIXTIME(HL.`HL_ACQUIRED_AT`),
+    HL.`HL_USER`,
+    HL.`HL_HOST`,
+    HL.`HL_HEARTBEAT_COUNT`,
+    HL.`HL_AGENT_INFO`,
+    HL.`HL_BLOCKEDBY_EXT_ID`,
+    HL.`HL_BLOCKEDBY_INT_ID`
+FROM SYS.`HIVE_LOCKS` AS HL;
 
 DROP TABLE IF EXISTS `VERSION`;
 
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index 4bd1dd5..24190d3 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -150,10 +150,18 @@ sys	global_privs			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -278,6 +286,18 @@ sys	tbls			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	version			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	version			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	version			hive_test_user	USER	SELECT	true	-1	hive_test_user
diff --git a/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out b/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out
index f0c8266..96bdecd 100644
--- a/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out
+++ b/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out
@@ -240,10 +240,18 @@ sys	global_privs			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -368,6 +376,18 @@ sys	tbls			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	version			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	version			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	version			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -447,7 +467,9 @@ PREHOOK: Output: sys@db_version
 PREHOOK: Output: sys@dbs
 PREHOOK: Output: sys@funcs
 PREHOOK: Output: sys@global_privs
+PREHOOK: Output: sys@hive_locks
 PREHOOK: Output: sys@key_constraints
+PREHOOK: Output: sys@locks
 PREHOOK: Output: sys@mv_creation_metadata
 PREHOOK: Output: sys@mv_tables_used
 PREHOOK: Output: sys@part_col_privs
@@ -479,6 +501,9 @@ PREHOOK: Output: sys@table_stats_view
 PREHOOK: Output: sys@tbl_col_privs
 PREHOOK: Output: sys@tbl_privs
 PREHOOK: Output: sys@tbls
+PREHOOK: Output: sys@transactions
+PREHOOK: Output: sys@txn_components
+PREHOOK: Output: sys@txns
 PREHOOK: Output: sys@version
 PREHOOK: Output: sys@wm_mappings
 PREHOOK: Output: sys@wm_pools
@@ -501,7 +526,9 @@ POSTHOOK: Output: sys@db_version
 POSTHOOK: Output: sys@dbs
 POSTHOOK: Output: sys@funcs
 POSTHOOK: Output: sys@global_privs
+POSTHOOK: Output: sys@hive_locks
 POSTHOOK: Output: sys@key_constraints
+POSTHOOK: Output: sys@locks
 POSTHOOK: Output: sys@mv_creation_metadata
 POSTHOOK: Output: sys@mv_tables_used
 POSTHOOK: Output: sys@part_col_privs
@@ -533,6 +560,9 @@ POSTHOOK: Output: sys@table_stats_view
 POSTHOOK: Output: sys@tbl_col_privs
 POSTHOOK: Output: sys@tbl_privs
 POSTHOOK: Output: sys@tbls
+POSTHOOK: Output: sys@transactions
+POSTHOOK: Output: sys@txn_components
+POSTHOOK: Output: sys@txns
 POSTHOOK: Output: sys@version
 POSTHOOK: Output: sys@wm_mappings
 POSTHOOK: Output: sys@wm_pools
diff --git a/ql/src/test/results/clientpositive/llap/sysdb.q.out b/ql/src/test/results/clientpositive/llap/sysdb.q.out
index 39d9a10..30a87a1 100644
--- a/ql/src/test/results/clientpositive/llap/sysdb.q.out
+++ b/ql/src/test/results/clientpositive/llap/sysdb.q.out
@@ -240,10 +240,18 @@ sys	global_privs			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	global_privs			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	hive_locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	key_constraints			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	mv_creation_metadata			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -368,6 +376,18 @@ sys	tbls			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	SELECT	true	-1	hive_test_user
 sys	tbls			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	transactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	txn_components			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	DELETE	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	INSERT	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	SELECT	true	-1	hive_test_user
+sys	txns			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 sys	version			hive_test_user	USER	DELETE	true	-1	hive_test_user
 sys	version			hive_test_user	USER	INSERT	true	-1	hive_test_user
 sys	version			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -613,6 +633,22 @@ global_privs	principal_name
 global_privs	principal_type
 global_privs	user_grant_id
 global_privs	user_priv
+hive_locks	hl_acquired_at
+hive_locks	hl_agent_info
+hive_locks	hl_blockedby_ext_id
+hive_locks	hl_blockedby_int_id
+hive_locks	hl_db
+hive_locks	hl_heartbeat_count
+hive_locks	hl_host
+hive_locks	hl_last_heartbeat
+hive_locks	hl_lock_ext_id
+hive_locks	hl_lock_int_id
+hive_locks	hl_lock_state
+hive_locks	hl_lock_type
+hive_locks	hl_partition
+hive_locks	hl_table
+hive_locks	hl_txnid
+hive_locks	hl_user
 key_constraints	child_cd_id
 key_constraints	child_integer_idx
 key_constraints	child_tbl_id
@@ -642,6 +678,22 @@ lineitem	l_shipinstruct
 lineitem	l_shipmode
 lineitem	l_suppkey
 lineitem	l_tax
+locks	acquired_at
+locks	agent_info
+locks	blockedby_ext_id
+locks	blockedby_int_id
+locks	db
+locks	heartbeat_count
+locks	host
+locks	last_heartbeat
+locks	lock_ext_id
+locks	lock_int_id
+locks	lock_state
+locks	lock_type
+locks	partition
+locks	table
+locks	txnid
+locks	user
 moretypes	a
 moretypes	b
 moretypes	c
@@ -934,6 +986,37 @@ tbls	tbl_name
 tbls	tbl_type
 tbls	view_expanded_text
 tbls	view_original_text
+transactions	agent_info
+transactions	heartbeat_count
+transactions	host
+transactions	last_heartbeat
+transactions	meta_info
+transactions	started
+transactions	state
+transactions	tc_database
+transactions	tc_operation_type
+transactions	tc_partition
+transactions	tc_table
+transactions	tc_writeid
+transactions	txn_id
+transactions	type
+transactions	user
+txn_components	tc_database
+txn_components	tc_operation_type
+txn_components	tc_partition
+txn_components	tc_table
+txn_components	tc_txnid
+txn_components	tc_writeid
+txns	txn_agent_info
+txns	txn_heartbeat_count
+txns	txn_host
+txns	txn_id
+txns	txn_last_heartbeat
+txns	txn_meta_info
+txns	txn_started
+txns	txn_state
+txns	txn_type
+txns	txn_user
 version	schema_version
 version	ver_id
 version	version_comment
@@ -982,10 +1065,10 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@columns_v2
 #### A masked pattern was here ####
 a	decimal(10,2)	0
+acquired_at	string	9
 action_expression	string	4
 add_time	int	1
-aint	int	0
-alloc_fraction	double	3
+agent_info	string	6
 PREHOOK: query: select param_key, param_value from database_params order by param_key, param_value limit 5
 PREHOOK: type: QUERY
 PREHOOK: Input: sys@database_params
@@ -1235,7 +1318,7 @@ POSTHOOK: query: select count(*) from sds
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@sds
 #### A masked pattern was here ####
-86
+91
 PREHOOK: query: select param_key, param_value from sd_params order by param_key, param_value limit 5
 PREHOOK: type: QUERY
 PREHOOK: Input: sys@sd_params
@@ -1658,7 +1741,9 @@ default	sys	db_version	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	dbs	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	funcs	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	global_privs	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
+default	sys	hive_locks	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	key_constraints	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
+default	sys	locks	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	sys	mv_creation_metadata	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	mv_tables_used	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	part_col_privs	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
@@ -1690,6 +1775,9 @@ default	sys	table_stats_view	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	sys	tbl_col_privs	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	tbl_privs	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	tbls	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
+default	sys	transactions	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
+default	sys	txn_components	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
+default	sys	txns	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	version	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	sys	wm_mappings	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	wm_pools	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
@@ -1799,8 +1887,10 @@ information_schema	table_privileges
 information_schema	tables
 information_schema	views
 sys	compactions
+sys	locks
 sys	partition_stats_view
 sys	table_stats_view
+sys	transactions
 sys	version
 PREHOOK: query: select * from compactions
 PREHOOK: type: QUERY