You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Hassan Faouaz (JIRA)" <ji...@apache.org> on 2015/05/12 16:45:59 UTC
[jira] [Created] (CAMEL-8768) hdfs2 component overwrite option is
also being applied to directory filesystem path
Hassan Faouaz created CAMEL-8768:
------------------------------------
Summary: hdfs2 component overwrite option is also being applied to directory filesystem path
Key: CAMEL-8768
URL: https://issues.apache.org/jira/browse/CAMEL-8768
Project: Camel
Issue Type: Bug
Components: camel-hdfs
Affects Versions: 2.15.2
Reporter: Hassan Faouaz
Priority: Critical
If you need to produce files into an existing HDFS2 path, the default behavoir is overwrite the path, which will delete all existing files on HDFS. If overwrite option is disabled, then the component will complain that the existing HDFS directory exists and will not work.
The propose solution is to add the following if statement to ignore check if the HDFS directory exists. The overwrite option should only be used for files not directories.
code snippet in HdfsOutputStream.java:
if (ret.info.getFileSystem().exists(new Path(ret.actualPath))) {
//only check of not directory
if (!ret.info.getFileSystem().isDirectory(new Path(ret.actualPath))) {
if (configuration.isOverwrite()) {
ret.info.getFileSystem().delete(new Path(ret.actualPath), true);
} else {
throw new RuntimeCamelException("The file already exists");
}
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)