Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
3.0.0, 3.1.1
-
None
Description
If the transaction is aborted between openTxn and addPartitions and data has been written on the table the transaction manager will think it's an empty transaction and no cleaning will be done.
This is currently an issue in the streaming API and in micromanaged tables. As proposed by Eugene Koifman this can be solved by:
- Writing an entry with a special marker to TXN_COMPONENTS at openTxn and when addPartitions is called remove this entry from TXN_COMPONENTS and add the corresponding partition entry to TXN_COMPONENTS.
- If the cleaner finds and entry with a special marker in TXN_COMPONENTS that specifies that a transaction was opened and it was aborted it must generate jobs for the worker for every possible partition available.
Attachments
Attachments
Issue Links
- causes
-
HIVE-25502 Cleaner causes data loss when processing aborted txn with DP
- Closed
- is related to
-
HIVE-24374 Do not remove metadata for aborted writes that were batched with valid ones in the same delta file
- Closed
-
HIVE-21150 Don't block Cleaner at the end of the loop
- Open
- relates to
-
HIVE-21118 Make sure if dynamic partitions is true only there's only one writeId allocated
- Open
- supercedes
-
HIVE-20435 Failed Dynamic Partition Insert into insert only table may loose transaction metadata
- Closed
- links to