Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.0
-
None
Description
Insert overwrite operation on transactional table will currently raise an error.
This can/should be supported
This is implemented by using the concept of base_N/ directory in Acid.
INSERT OVERWRITE starts a new transaction N and creates a new base_N directory where it writes the data.
This has the effect that on read all files with transaction IDs < N are ignored.
The advantage is that IOW doesn't need to be a mutexed operation. All readers that stared before this IOW can proceed at the
snapshot (Acid tables support at Snapshot Isolation) they locked in.
If mutexed semantics are desired we could add an option where IOW will request an X lock but the base_N/ based implementation can support both.
Attachments
Attachments
Issue Links
- is related to
-
HIVE-18021 Insert overwrite on acid table with Union All optimizations
- Open
-
HIVE-17774 compaction may start with 0 splits and fail
- Resolved
-
HIVE-18589 java.io.IOException: Not enough history available
- Closed
-
HIVE-17457 IOW Acid Insert Overwrite when the transaction fails
- Closed
-
HIVE-18131 Truncate table for Acid tables
- Closed
- relates to
-
HIVE-18154 IOW Acid Load Data/Insert with Overwrite in multi statement transactions
- Open
- links to