Details
-
Improvement
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.2.0
Description
When split-update is enabled for ACID, OrcRecordUpdater creates two sets of writers: one for the insert deltas and one for the delete deltas. The deleteEventWriter is initialized with similar writerOptions as the normal writer, except that it has a different callback handler. Due to the lack of copy constructor/ clone() method in writerOptions, the same writerOptions object is mutated to specify a different callback for the delete case. Although, this is harmless for now, but it may become a source of confusion and possible error in future. The ideal way to fix this would be to create a clone() method for writerOptions- however this requires that the parent class of WriterOptions in the OrcFile.WriterOptions should implement Cloneable or provide a copy constructor.
Attachments
Issue Links
- blocks
-
HIVE-17089 make acid 2.0 the default
- Closed
- is blocked by
-
ORC-154 add OrcFile.WriterOptions.clone()
- Closed
- is related to
-
HIVE-14035 Enable predicate pushdown to delta files created by ACID Transactions
- Resolved
- links to