stephbat created HIVE-24218:
-------------------------------

             Summary: Drop table used by a materialized view
                 Key: HIVE-24218
                 URL: https://issues.apache.org/jira/browse/HIVE-24218
             Project: Hive
          Issue Type: Bug
          Components: Hive
    Affects Versions: 3.1.0
            Reporter: stephbat


I have discovered that it's possible to drop a table used by a materialized 
view. When I drop this table, the result is OK while I think this action should 
be refused. When I check in the metastore database, I can see that the table 
has been partially deleted (ie : the reference of the table still exists inĀ 
TBLS and in MV_TABLES_USED). This introduces an inconsistency in the metastore.

Steps to reproduced :
{code:java}

jdbc:hive2://localhost.> use use ptest2_db_dev;
No rows affected (0.067 seconds)
0: jdbc:hive2://localhost.> create table table_blocked (id string);
No rows affected (0.97 seconds)
0: jdbc:hive2://localhost.> desc table_blocked;
+-----------+------------+----------+
| col_name  | data_type  | comment  |
+-----------+------------+----------+
| id        | string     |          |
+-----------+------------+----------+
1 row selected (0.171 seconds)
0: jdbc:hive2://localhost.> create materialized view table_blocked_mv as select 
* from table_blocked;
No rows affected (18.055 seconds)
0: jdbc:hive2://localhost.> desc table_blocked_mv;
+-----------+------------+----------+
| col_name  | data_type  | comment  |
+-----------+------------+----------+
| id        | string     |          |
+-----------+------------+----------+
1 row selected (0.316 seconds)
0: jdbc:hive2://localhost.> drop table table_blocked;
No rows affected (10.803 seconds)
0: jdbc:hive2://localhost.> desc table_blocked_mv;
+-----------+------------+----------+
| col_name  | data_type  | comment  |
+-----------+------------+----------+
| id        | string     |          |
+-----------+------------+----------+
1 row selected (0.222 seconds)
0: jdbc:hive2://localhost.> desc table_blocked;
Error: Error while compiling statement: FAILED: SemanticException Unable to 
fetch table table_blocked. null (state=42000,code=40000)
0: jdbc:hive2://localhost.> select * from table_blocked_mv;
Error: Error while compiling statement: FAILED: SemanticException Table 
ptest2_db_dev.table_blocked not found when trying to obtain it to check 
masking/filtering policies (state=42000,code=40000)
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to