[ 
https://issues.apache.org/jira/browse/FLINK-23725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17403457#comment-17403457
 ] 

todd commented on FLINK-23725:
------------------------------

[~Paul Lin]   I think the target file should be deleted first instead of 
throwing an exception. If an exception is thrown, it is difficult to recover 
from the old ck, and you can only manually delete the existing HDFS files. If 
it is up to me to modify this question, I will adopt this approach.

> HadoopFsCommitter, file rename failure
> --------------------------------------
>
>                 Key: FLINK-23725
>                 URL: https://issues.apache.org/jira/browse/FLINK-23725
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / FileSystem, Connectors / Hadoop 
> Compatibility, FileSystems
>    Affects Versions: 1.11.1, 1.12.1
>            Reporter: todd
>            Priority: Major
>
> When the HDFS file is written, if the part file exists, only false will be 
> returned if the duplicate name fails.Whether to throw an exception that 
> already exists in the part, or print related logs.
>  
> ```
> org.apache.flink.runtime.fs.hdfs.HadoopRecoverableFsDataOutputStream.HadoopFsCommitter#commit
> public void commit() throws IOException {
>  final Path src = recoverable.tempFile();
>  final Path dest = recoverable.targetFile();
>  final long expectedLength = recoverable.offset();
>  try {
>      //always   return false or ture
>     fs.rename(src, dest);
>  } catch (IOException e) {
>  throw new IOException(
>  "Committing file by rename failed: " + src + " to " + dest, e);
>  }
> }
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to