You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ayush Saxena (Jira)" <ji...@apache.org> on 2022/09/23 22:27:00 UTC
[jira] [Resolved] (HIVE-14514) OrcRecordUpdater should clone writerOptions when creating delete event writers
[ https://issues.apache.org/jira/browse/HIVE-14514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ayush Saxena resolved HIVE-14514.
---------------------------------
Fix Version/s: 4.0.0-alpha-2
Resolution: Fixed
> OrcRecordUpdater should clone writerOptions when creating delete event writers
> ------------------------------------------------------------------------------
>
> Key: HIVE-14514
> URL: https://issues.apache.org/jira/browse/HIVE-14514
> Project: Hive
> Issue Type: Improvement
> Components: Transactions
> Affects Versions: 2.2.0
> Reporter: Saket Saurabh
> Assignee: Dmitriy Fingerman
> Priority: Critical
> Labels: pull-request-available
> Fix For: 4.0.0-alpha-2
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)