You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Marta Kuczora (Jira)" <ji...@apache.org> on 2020/04/23 15:10:00 UTC
[jira] [Updated] (HIVE-23286) The clean-up in case of an aborted
FileSinkOperator is not correct for ACID direct insert
[ https://issues.apache.org/jira/browse/HIVE-23286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marta Kuczora updated HIVE-23286:
---------------------------------
Description:
In FileSinkOperator there is a code path when the operator is aborted:
{noformat}
} else {
// Will come here if an Exception was thrown in map() or reduce().
// Hadoop always call close() even if an Exception was thrown in map() or
// reduce().
for (FSPaths fsp : valToPaths.values()) {
fsp.abortWritersAndUpdaters(fs, abort, !autoDelete && isNativeTable() && !conf.isMmTable());
}
{noformat}
In this part, the fsp.abortWritersAndUpdaters method call should consider the conf.isDirectInsert parameter as well. Since this parameter is missing, this method can delete the content of the table.
> The clean-up in case of an aborted FileSinkOperator is not correct for ACID direct insert
> -----------------------------------------------------------------------------------------
>
> Key: HIVE-23286
> URL: https://issues.apache.org/jira/browse/HIVE-23286
> Project: Hive
> Issue Type: Bug
> Reporter: Marta Kuczora
> Assignee: Marta Kuczora
> Priority: Major
> Fix For: 4.0.0
>
>
> In FileSinkOperator there is a code path when the operator is aborted:
> {noformat}
> } else {
> // Will come here if an Exception was thrown in map() or reduce().
> // Hadoop always call close() even if an Exception was thrown in map() or
> // reduce().
> for (FSPaths fsp : valToPaths.values()) {
> fsp.abortWritersAndUpdaters(fs, abort, !autoDelete && isNativeTable() && !conf.isMmTable());
> }
> {noformat}
> In this part, the fsp.abortWritersAndUpdaters method call should consider the conf.isDirectInsert parameter as well. Since this parameter is missing, this method can delete the content of the table.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)