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

Eugene Koifman commented on HIVE-17856:
---------------------------------------


2) Everything in Acid relies on AcidUtils.getAcidState() - it has the logic to 
skip deltas that are subsumed by a base as well as paying attention to 
ValidTxnList.  From what I've seen MM usually tries to use it's own logic for 
figuring out the list of dirs it should read.  One caveat is that for full acid 
the structure is always table/partition/delta|base/buckets so it wouldn't 
handle the Union subdirs anyway.  
4b) good question - I suspect IOW + Union All may not  work for full acid

> MM tables - IOW is not ACID compliant
> -------------------------------------
>
>                 Key: HIVE-17856
>                 URL: https://issues.apache.org/jira/browse/HIVE-17856
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Transactions
>            Reporter: Sergey Shelukhin
>            Assignee: Steve Yeom
>              Labels: mm-gap-1
>         Attachments: HIVE-17856.1.patch
>
>
> The following tests were removed from mm_all during "integration"... I should 
> have never allowed such manner of intergration.
> MM logic should have been kept intact until ACID logic could catch up. Alas, 
> here we are.
> {noformat}
> drop table iow0_mm;
> create table iow0_mm(key int) tblproperties("transactional"="true", 
> "transactional_properties"="insert_only");
> insert overwrite table iow0_mm select key from intermediate;
> insert into table iow0_mm select key + 1 from intermediate;
> select * from iow0_mm order by key;
> insert overwrite table iow0_mm select key + 2 from intermediate;
> select * from iow0_mm order by key;
> drop table iow0_mm;
> drop table iow1_mm; 
> create table iow1_mm(key int) partitioned by (key2 int)  
> tblproperties("transactional"="true", 
> "transactional_properties"="insert_only");
> insert overwrite table iow1_mm partition (key2)
> select key as k1, key from intermediate union all select key as k1, key from 
> intermediate;
> insert into table iow1_mm partition (key2)
> select key + 1 as k1, key from intermediate union all select key as k1, key 
> from intermediate;
> select * from iow1_mm order by key, key2;
> insert overwrite table iow1_mm partition (key2)
> select key + 3 as k1, key from intermediate union all select key + 4 as k1, 
> key from intermediate;
> select * from iow1_mm order by key, key2;
> insert overwrite table iow1_mm partition (key2)
> select key + 3 as k1, key + 3 from intermediate union all select key + 2 as 
> k1, key + 2 from intermediate;
> select * from iow1_mm order by key, key2;
> drop table iow1_mm;
> {noformat}
> {noformat}
> drop table simple_mm;
> create table simple_mm(key int) stored as orc tblproperties 
> ("transactional"="true", "transactional_properties"="insert_only");
> insert into table simple_mm select key from intermediate;
> -insert overwrite table simple_mm select key from intermediate;
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to