You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Krisztian Kasa (Jira)" <ji...@apache.org> on 2021/03/02 12:16:00 UTC

[jira] [Created] (HIVE-24840) Materialized View incremental rebuild produces wrong result set after compaction

Krisztian Kasa created HIVE-24840:
-------------------------------------

             Summary: Materialized View incremental rebuild produces wrong result set after compaction
                 Key: HIVE-24840
                 URL: https://issues.apache.org/jira/browse/HIVE-24840
             Project: Hive
          Issue Type: Bug
            Reporter: Krisztian Kasa
            Assignee: Krisztian Kasa


{code}
create table t1(a int, b varchar(128), c float) stored as orc TBLPROPERTIES ('transactional'='true');
insert into t1(a,b, c) values (1, 'one', 1.1), (2, 'two', 2.2), (NULL, NULL, NULL);

create materialized view mat1 stored as orc TBLPROPERTIES ('transactional'='true') as 
            select a,b,c from t1 where a > 0 or a is null;

delete from t1 where a = 1;

alter table t1 compact 'major';

-- Wait until compaction finished.
alter materialized view mat1 rebuild;
{code}

Expected result of query
{code}
select * from mat1;
{code}
{code}
2 two 2
NULL NULL NULL
{code}
but if incremental rebuild is enabled the result is
{code}
1 one 1
2 two 2
NULL NULL NULL
{code}

Cause: Incremental rebuild queries whether the source tables of a materialized view has delete or update transaction since the last rebuild from metastore from COMPLETED_TXN_COMPONENTS table. However when a major compaction is performed on the source tables the records related to these tables are deleted from COMPLETED_TXN_COMPONENTS.




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