Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.2.0, 2.0.0
-
None
-
None
Description
create table if not exists tab1 (a int, b int) partitioned by (p string) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES('transactional'='true') create table if not exists tab_not_acid (a int, b int, p string) insert into tab_not_acid values(1,1,'one'),(2,2,'two') insert into tab1 partition(p) values(3,3,'one'),(4,4,'two') //writing both acid and non-acid resources in the same txn //tab1 write is a dynamic partition insert from tab_not_acid insert into tab1 partition(p)(a,b,p) select a,b,p insert into tab_not_acid(a,b) select a,b where p='two'
Suppose the last insert in the above example is part of a multi-stmt txn which later gets rolled back. There is no way to rollback the write to the tab_not_acid table.
(In auto-commit mode there is no explicit rollback so this can only fail due to error, which means Move task won't move the files into tables so it's not really an issue)