Liu created FLINK-28548:
---------------------------

             Summary: The commit partition base path is not created when no 
data is sent which may cause FileNotFoundException
                 Key: FLINK-28548
                 URL: https://issues.apache.org/jira/browse/FLINK-28548
             Project: Flink
          Issue Type: Bug
          Components: Connectors / FileSystem
    Affects Versions: 1.15.1, 1.14.5, 1.16.0
            Reporter: Liu


The commit partition base path is not created when no data is sent which may 
cause FileNotFoundException.  The exception is as following:
{code:java}
Caused by: java.io.FileNotFoundException: File 
/home/ljg/test_sql.db/flink_batch_test/.staging_1657697612169 does not exist.
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:771)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.access$600(DistributedFileSystem.java:120)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$20.doCall(DistributedFileSystem.java:828)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$20.doCall(DistributedFileSystem.java:824)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
 ~[hadoop-common-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.hdfs.perflog.FileSystemLinkResolverWithStatistics$1.doCall(FileSystemLinkResolverWithStatistics.java:37)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at org.apache.hadoop.hdfs.perflog.PerfProxy.call(PerfProxy.java:49) 
~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.hdfs.perflog.FileSystemLinkResolverWithStatistics.resolve(FileSystemLinkResolverWithStatistics.java:39)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:835)
 ~[hadoop-hdfs-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.fs.FilterFileSystem.listStatus(FilterFileSystem.java:238) 
~[hadoop-common-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.fs.FilterFileSystem.listStatus(FilterFileSystem.java:238) 
~[hadoop-common-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.fs.viewfs.ChRootedFileSystem.listStatus(ChRootedFileSystem.java:241)
 ~[hadoop-common-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.hadoop.fs.viewfs.ViewFileSystem.listStatus(ViewFileSystem.java:376) 
~[hadoop-common-2.6.0U203-cdh5.4.4.jar:?]
        at 
org.apache.flink.hive.shaded.fs.hdfs.HadoopFileSystem.listStatus(HadoopFileSystem.java:170)
 ~[flink-sql-connector-hive-2.3.6_2.12-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.file.table.PartitionTempFileManager.listTaskTemporaryPaths(PartitionTempFileManager.java:87)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.file.table.FileSystemCommitter.commitPartitions(FileSystemCommitter.java:78)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.file.table.FileSystemOutputFormat.finalizeGlobal(FileSystemOutputFormat.java:89)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.runtime.jobgraph.InputOutputFormatVertex.finalizeOnMaster(InputOutputFormatVertex.java:153)
 ~[flink-dist-1.15.0.jar:1.15.0]
        at 
org.apache.flink.runtime.executiongraph.DefaultExecutionGraph.jobFinished(DefaultExecutionGraph.java:1190)
 ~[flink-dist-1.15.0.jar:1.15.0]
        ... 43 more {code}
We should check whether the base path exists before listStatus for the path.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to