[ 
https://issues.apache.org/jira/browse/HIVE-30227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18135257#comment-18135257
 ] 

Denys Kuzmenko commented on HIVE-30227:
---------------------------------------

cc [~kkasa]

> Iceberg: a V3 materialized view rebuild in insert-delete mode writes two DVs 
> per data file
> ------------------------------------------------------------------------------------------
>
>                 Key: HIVE-30227
>                 URL: https://issues.apache.org/jira/browse/HIVE-30227
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Denys Kuzmenko
>            Priority: Major
>
> An incremental rebuild of a materialized view in insert-delete mode 
> (AGGREGATE_INSERT_DELETE_REBUILD: a V3 Iceberg materialized view with 
> count(*) over full-ACID sources) deletes through two DELETE branches: one for 
> the groups it updates and one for the groups whose count drops to 0. Neither 
> branch is distributed by FILE__PATH, and a data file can hold rows of both, 
> so a data file can get several DVs in one commit, which Iceberg then merges 
> at commit time (merged-dvs). HIVE-30112 made DELETE, UPDATE and MERGE write 
> one DV per data file.
> *Fix*
> - Distribute the delete branches of the rebuild by 
> HiveStorageHandler#acidDistributeColumns, as the DML rewriters do 
> (AlterMaterializedViewRebuildAnalyzer, MaterializedViewASTBuilder, 
> NonNativeAcidMaterializedViewASTBuilder); the first commit of the HIVE-30112 
> PR (#6924) has this part with iceberg_mv_rebuild_dv_per_file.q.
> - Combine the two delete branches into one, as SplitMergeRewriter does for a 
> MERGE with UPDATE and DELETE clauses.
> Found in the review of HIVE-30112.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to