You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by dk...@apache.org on 2023/01/12 15:53:26 UTC

[hive] branch master updated: HIVE-22628: Add locks and transactions tables from sys db to information_schema (Akshat Mathur, reviewed by Denys Kuzmenko)

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

dkuzmenko 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 03ad025ada7 HIVE-22628: Add locks and transactions tables from sys db to information_schema (Akshat Mathur, reviewed by Denys Kuzmenko)
03ad025ada7 is described below

commit 03ad025ada776c0d359124c6342615f1983c1a94
Author: Akshat <ak...@gmail.com>
AuthorDate: Thu Jan 12 21:23:18 2023 +0530

    HIVE-22628: Add locks and transactions tables from sys db to information_schema (Akshat Mathur, reviewed by Denys Kuzmenko)
    
    Closes #3921
---
 .../upgrade/hive/hive-schema-4.0.0.hive.sql        | 86 +++++++++++++++++++++-
 ql/src/test/queries/clientpositive/sysdb.q         |  4 +
 .../results/clientpositive/llap/resourceplan.q.out |  8 ++
 .../llap/strict_managed_tables_sysdb.q.out         | 12 +++
 .../test/results/clientpositive/llap/sysdb.q.out   | 85 ++++++++++++++++++++-
 5 files changed, 191 insertions(+), 4 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 9f006523aab..577778c6d62 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
@@ -2015,6 +2015,88 @@ JOIN
 WHERE
   SE.SCHEDULED_QUERY_ID=SQ.SCHEDULED_QUERY_ID;
 
+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
+  `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`
+FROM `SYS`.`TRANSACTIONS` AS TXN JOIN `sys`.`TBLS` T ON (TXN.`TC_TABLE` = T.`TBL_NAME`)
+                                 JOIN `sys`.`DBS` D ON (TXN.`TC_DATABASE` = D.`NAME`)
+                                 LEFT JOIN `sys`.`TBL_PRIVS` P ON (T.`TBL_ID` = P.`TBL_ID`)
+WHERE
+    (NOT restrict_information_schema() OR P.`TBL_ID` IS NOT NULL
+        AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
+            OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
+        AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer());
 
-
-
+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
+  `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`
+FROM SYS.`LOCKS` AS L JOIN `sys`.`TBLS` T ON (L.`TABLE` = T.`TBL_NAME`)
+                               JOIN `sys`.`DBS` D ON (L.`DB` = D.`NAME`)
+                               LEFT JOIN `sys`.`TBL_PRIVS` P ON (T.`TBL_ID` = P.`TBL_ID`)
+WHERE
+    (NOT restrict_information_schema() OR P.`TBL_ID` IS NOT NULL
+        AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
+            OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
+        AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer());
diff --git a/ql/src/test/queries/clientpositive/sysdb.q b/ql/src/test/queries/clientpositive/sysdb.q
index cec1819a27f..4ecd1881850 100644
--- a/ql/src/test/queries/clientpositive/sysdb.q
+++ b/ql/src/test/queries/clientpositive/sysdb.q
@@ -139,3 +139,7 @@ select * from COLUMN_PRIVILEGES order by GRANTOR, GRANTEE, TABLE_SCHEMA, TABLE_N
 select TABLE_SCHEMA, TABLE_NAME from views order by TABLE_SCHEMA, TABLE_NAME;
 
 select * from compactions;
+
+select TXN_ID, STATE, AGENT_INFO, META_INFO, HEARTBEAT_COUNT, TYPE, TC_DATABASE, TC_TABLE, TC_PARTITION, TC_OPERATION_TYPE, TC_WRITEID from TRANSACTIONS;
+
+select * from LOCKS;
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index 0a07df4baf2..cd9c57dd31d 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -78,6 +78,10 @@ information_schema	compactions			hive_test_user	USER	DELETE	true	-1	hive_test_us
 information_schema	compactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	compactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
 information_schema	compactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -98,6 +102,10 @@ information_schema	tables			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	SELECT	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	DELETE	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	views			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 6555050676a..e509d588687 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
@@ -168,6 +168,10 @@ information_schema	compactions			hive_test_user	USER	DELETE	true	-1	hive_test_us
 information_schema	compactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	compactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
 information_schema	compactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -188,6 +192,10 @@ information_schema	tables			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	SELECT	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	DELETE	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -600,11 +608,13 @@ PREHOOK: Output: database:information_schema
 PREHOOK: Output: information_schema@column_privileges
 PREHOOK: Output: information_schema@columns
 PREHOOK: Output: information_schema@compactions
+PREHOOK: Output: information_schema@locks
 PREHOOK: Output: information_schema@scheduled_executions
 PREHOOK: Output: information_schema@scheduled_queries
 PREHOOK: Output: information_schema@schemata
 PREHOOK: Output: information_schema@table_privileges
 PREHOOK: Output: information_schema@tables
+PREHOOK: Output: information_schema@transactions
 PREHOOK: Output: information_schema@views
 POSTHOOK: query: DROP DATABASE IF EXISTS INFORMATION_SCHEMA CASCADE
 POSTHOOK: type: DROPDATABASE
@@ -613,9 +623,11 @@ POSTHOOK: Output: database:information_schema
 POSTHOOK: Output: information_schema@column_privileges
 POSTHOOK: Output: information_schema@columns
 POSTHOOK: Output: information_schema@compactions
+POSTHOOK: Output: information_schema@locks
 POSTHOOK: Output: information_schema@scheduled_executions
 POSTHOOK: Output: information_schema@scheduled_queries
 POSTHOOK: Output: information_schema@schemata
 POSTHOOK: Output: information_schema@table_privileges
 POSTHOOK: Output: information_schema@tables
+POSTHOOK: Output: information_schema@transactions
 POSTHOOK: Output: information_schema@views
diff --git a/ql/src/test/results/clientpositive/llap/sysdb.q.out b/ql/src/test/results/clientpositive/llap/sysdb.q.out
index fb98a090b99..616b57a4274 100644
--- a/ql/src/test/results/clientpositive/llap/sysdb.q.out
+++ b/ql/src/test/results/clientpositive/llap/sysdb.q.out
@@ -124,6 +124,10 @@ information_schema	compactions			hive_test_user	USER	DELETE	true	-1	hive_test_us
 information_schema	compactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	compactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
 information_schema	compactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	DELETE	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	INSERT	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	SELECT	true	-1	hive_test_user
+information_schema	locks			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	scheduled_executions			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -144,6 +148,10 @@ information_schema	tables			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	SELECT	true	-1	hive_test_user
 information_schema	tables			hive_test_user	USER	UPDATE	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	DELETE	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	INSERT	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	SELECT	true	-1	hive_test_user
+information_schema	transactions			hive_test_user	USER	UPDATE	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	DELETE	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	INSERT	true	-1	hive_test_user
 information_schema	views			hive_test_user	USER	SELECT	true	-1	hive_test_user
@@ -641,20 +649,36 @@ key_constraints	parent_tbl_id
 key_constraints	position
 key_constraints	update_rule
 locks	acquired_at
+locks	acquired_at
+locks	agent_info
 locks	agent_info
 locks	blockedby_ext_id
+locks	blockedby_ext_id
+locks	blockedby_int_id
 locks	blockedby_int_id
 locks	db
+locks	db
+locks	heartbeat_count
 locks	heartbeat_count
 locks	host
+locks	host
 locks	last_heartbeat
+locks	last_heartbeat
+locks	lock_ext_id
 locks	lock_ext_id
 locks	lock_int_id
+locks	lock_int_id
+locks	lock_state
 locks	lock_state
 locks	lock_type
+locks	lock_type
+locks	partition
 locks	partition
 locks	table
+locks	table
 locks	txnid
+locks	txnid
+locks	user
 locks	user
 min_history_level	mhl_min_open_txnid
 min_history_level	mhl_txnid
@@ -953,19 +977,34 @@ tbls	tbl_type
 tbls	view_expanded_text
 tbls	view_original_text
 transactions	agent_info
+transactions	agent_info
+transactions	heartbeat_count
 transactions	heartbeat_count
 transactions	host
+transactions	host
+transactions	last_heartbeat
 transactions	last_heartbeat
 transactions	meta_info
+transactions	meta_info
 transactions	started
+transactions	started
+transactions	state
 transactions	state
 transactions	tc_database
+transactions	tc_database
 transactions	tc_operation_type
+transactions	tc_operation_type
+transactions	tc_partition
 transactions	tc_partition
 transactions	tc_table
+transactions	tc_table
 transactions	tc_writeid
+transactions	tc_writeid
+transactions	txn_id
 transactions	txn_id
 transactions	type
+transactions	type
+transactions	user
 transactions	user
 txn_components	tc_database
 txn_components	tc_operation_type
@@ -1032,9 +1071,9 @@ POSTHOOK: Input: sys@columns_v2
 #### A masked pattern was here ####
 a	decimal(10,2)	0
 acquired_at	string	9
+acquired_at	string	9
 action_expression	string	4
 active_execution_id	bigint	8
-active_execution_id	bigint	8
 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
@@ -1266,7 +1305,7 @@ POSTHOOK: query: select count(*) from sds
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@sds
 #### A masked pattern was here ####
-76
+78
 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
@@ -1641,11 +1680,13 @@ default	default	srcbucket	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	information_schema	column_privileges	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	columns	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	compactions	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
+default	information_schema	locks	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	scheduled_executions	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	scheduled_queries	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	schemata	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	table_privileges	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	tables	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
+default	information_schema	transactions	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	information_schema	views	VIEW	NULL	NULL	NULL	NULL	NULL	NO	NO	NULL
 default	sys	bucketing_cols	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
 default	sys	cds	BASE_TABLE	NULL	NULL	NULL	NULL	NULL	YES	NO	NULL
@@ -1790,11 +1831,13 @@ POSTHOOK: Input: sys@tbls
 information_schema	column_privileges
 information_schema	columns
 information_schema	compactions
+information_schema	locks
 information_schema	scheduled_executions
 information_schema	scheduled_queries
 information_schema	schemata
 information_schema	table_privileges
 information_schema	tables
+information_schema	transactions
 information_schema	views
 sys	compactions
 sys	locks
@@ -1825,3 +1868,41 @@ POSTHOOK: Input: sys@tbls
 #### A masked pattern was here ####
 1	default	default	scr_txn	NULL	major	initiated	NULL	NULL	NULL	#Masked#	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	#Masked#	manual	4.0.0-SNAPSHOT	NULL	default	NULL
 2	default	default	scr_txn_2	NULL	minor	initiated	NULL	NULL	NULL	#Masked#	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	#Masked#	manual	4.0.0-SNAPSHOT	NULL	default	NULL
+PREHOOK: query: select TXN_ID, STATE, AGENT_INFO, META_INFO, HEARTBEAT_COUNT, TYPE, TC_DATABASE, TC_TABLE, TC_PARTITION, TC_OPERATION_TYPE, TC_WRITEID from TRANSACTIONS
+PREHOOK: type: QUERY
+PREHOOK: Input: information_schema@transactions
+PREHOOK: Input: sys@dbs
+PREHOOK: Input: sys@tbl_privs
+PREHOOK: Input: sys@tbls
+PREHOOK: Input: sys@transactions
+PREHOOK: Input: sys@txn_components
+PREHOOK: Input: sys@txns
+#### A masked pattern was here ####
+POSTHOOK: query: select TXN_ID, STATE, AGENT_INFO, META_INFO, HEARTBEAT_COUNT, TYPE, TC_DATABASE, TC_TABLE, TC_PARTITION, TC_OPERATION_TYPE, TC_WRITEID from TRANSACTIONS
+POSTHOOK: type: QUERY
+POSTHOOK: Input: information_schema@transactions
+POSTHOOK: Input: sys@dbs
+POSTHOOK: Input: sys@tbl_privs
+POSTHOOK: Input: sys@tbls
+POSTHOOK: Input: sys@transactions
+POSTHOOK: Input: sys@txn_components
+POSTHOOK: Input: sys@txns
+#### A masked pattern was here ####
+PREHOOK: query: select * from LOCKS
+PREHOOK: type: QUERY
+PREHOOK: Input: information_schema@locks
+PREHOOK: Input: sys@dbs
+PREHOOK: Input: sys@hive_locks
+PREHOOK: Input: sys@locks
+PREHOOK: Input: sys@tbl_privs
+PREHOOK: Input: sys@tbls
+#### A masked pattern was here ####
+POSTHOOK: query: select * from LOCKS
+POSTHOOK: type: QUERY
+POSTHOOK: Input: information_schema@locks
+POSTHOOK: Input: sys@dbs
+POSTHOOK: Input: sys@hive_locks
+POSTHOOK: Input: sys@locks
+POSTHOOK: Input: sys@tbl_privs
+POSTHOOK: Input: sys@tbls
+#### A masked pattern was here ####