[
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)