[
https://issues.apache.org/jira/browse/CAMEL-8768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-8768:
-------------------------------
Fix Version/s: 2.15.3
2.16.0
> 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
> Labels: hadoop
> Fix For: 2.16.0, 2.15.3
>
> Attachments: patchfile.txt
>
>
> 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 and patch is attached
> 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)