[ https://issues.apache.org/jira/browse/HIVE-26375?focusedWorklogId=794061&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-794061 ]
ASF GitHub Bot logged work on HIVE-26375: ----------------------------------------- Author: ASF GitHub Bot Created on: 22/Jul/22 05:34 Start Date: 22/Jul/22 05:34 Worklog Time Spent: 10m Work Description: amansinha100 commented on code in PR #3420: URL: https://github.com/apache/hive/pull/3420#discussion_r927303861 ########## itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestMaterializedViewRebuild.java: ########## @@ -97,7 +91,7 @@ public void testWhenMajorCompactionThenIncrementalMVRebuildIsStillAvailable() th txnHandler.cleanTxnToWriteIdTable(); List<String> result = execSelectAndDumpData("explain cbo alter materialized view " + MV1 + " rebuild", driver, ""); - Assert.assertEquals(INCREMENTAL_REBUILD_PLAN, result); + Assert.assertEquals(FULL_REBUILD_PLAN, result); Review Comment: Thanks for the explanation. Makes sense that since the entries are deleted from the COMPLETED_TXN_COMPONENTS table at compaction, there's no way to check if only insert operation was done in a full ACID table. Issue Time Tracking ------------------- Worklog Id: (was: 794061) Time Spent: 40m (was: 0.5h) > Invalid materialized view after rebuild if source table was compacted > --------------------------------------------------------------------- > > Key: HIVE-26375 > URL: https://issues.apache.org/jira/browse/HIVE-26375 > Project: Hive > Issue Type: Bug > Components: Materialized views, Transactions > Reporter: Krisztian Kasa > Assignee: Krisztian Kasa > Priority: Major > Labels: pull-request-available > Fix For: 4.0.0 > > Time Spent: 40m > Remaining Estimate: 0h > > After HIVE-25656 MV state depends on the number of rows deleted/updated in > the source tables of the view. However if one of the source tables are major > compacted the delete delta files are no longer available and reproducing the > rows should be deleted from the MV is no longer possible. > {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 mv1 stored as orc TBLPROPERTIES > ('transactional'='true') as select a,b,c from t1 where a > 0 or a is null; > update t1 set b = 'Changed' where a = 1; > alter table t1 compact 'major'; > alter materialized view t1 rebuild; > select * from mv1; > {code} > Select should result > {code} > "1\tChanged\t1.1", > "2\ttwo\t2.2", > "NULL\tNULL\tNULL" > {code} > but was > {code} > "1\tone\t1.1", > "2\ttwo\t2.2", > "NULL\tNULL\tNULL", > "1\tChanged\t1.1" > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)