[
https://issues.apache.org/jira/browse/FLINK-5147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15690283#comment-15690283
]
ASF GitHub Bot commented on FLINK-5147:
---------------------------------------
GitHub user zentol opened a pull request:
https://github.com/apache/flink/pull/2859
[FLINK-5147] Prevent NPE in LocalFS#delete()
This PR prevents an NullPointerException in `LocalFileSystem#delete()`.
`File#listFiles()` can return null if either the file does not exist or some
I/O error occurred. Since we can't differentiate between the cases we always
throw an IOException.
This means that this PR only replaces the thrown NPE with an IOE. This
should however harden the failing test case, since `delete()` is called from
`FileSystem#initOutPathLocalFS()` which is aware of possible race-conditions.
It just did not account for the possibility of an NPE.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zentol/flink 5147_lfs_delete
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2859.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2859
----
commit 30dfa4c7e17ac158b55a9a389856f09fad36fa63
Author: zentol <[email protected]>
Date: 2016-11-23T14:37:06Z
[FLINK-5147] Prevent NPE in LocalFS#delete()
----
> StreamingOperatorsITCase.testGroupedFoldOperation failed on Travis
> ------------------------------------------------------------------
>
> Key: FLINK-5147
> URL: https://issues.apache.org/jira/browse/FLINK-5147
> Project: Flink
> Issue Type: Bug
> Components: Tests
> Affects Versions: 1.1.3
> Environment: https://travis-ci.org/apache/flink/jobs/177675906
> Reporter: Chesnay Schepler
> Assignee: Chesnay Schepler
>
> The test failed with the following exception:
> {code}
> testGroupedFoldOperation(org.apache.flink.test.streaming.api.StreamingOperatorsITCase)
> Time elapsed: 0.573 sec <<< ERROR!
> org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
> at
> org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$6.apply$mcV$sp(JobManager.scala:905)
> at
> org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$6.apply(JobManager.scala:848)
> at
> org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$6.apply(JobManager.scala:848)
> at
> scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
> at
> scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
> at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
> at
> akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:401)
> at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
> at
> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
> at
> scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
> at
> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
> Caused by: java.lang.NullPointerException: null
> at
> org.apache.flink.core.fs.local.LocalFileSystem.delete(LocalFileSystem.java:187)
> at
> org.apache.flink.core.fs.FileSystem.initOutPathLocalFS(FileSystem.java:632)
> at
> org.apache.flink.api.common.io.FileOutputFormat.open(FileOutputFormat.java:239)
> at
> org.apache.flink.api.java.io.TextOutputFormat.open(TextOutputFormat.java:78)
> at
> org.apache.flink.streaming.api.functions.sink.OutputFormatSinkFunction.open(OutputFormatSinkFunction.java:60)
> at
> org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
> at
> org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:154)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:383)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:259)
> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:650)
> at java.lang.Thread.run(Thread.java:745)
> testGroupedFoldOperation(org.apache.flink.test.streaming.api.StreamingOperatorsITCase)
> Time elapsed: 0.573 sec <<< FAILURE!
> java.lang.AssertionError: Different number of lines in expected and obtained
> result. expected:<4> but was:<1>
> at org.junit.Assert.fail(Assert.java:88)
> at org.junit.Assert.failNotEquals(Assert.java:834)
> at org.junit.Assert.assertEquals(Assert.java:645)
> at
> org.apache.flink.test.util.TestBaseUtils.compareResultsByLinesInMemory(TestBaseUtils.java:316)
> at
> org.apache.flink.test.util.TestBaseUtils.compareResultsByLinesInMemory(TestBaseUtils.java:302)
> at
> org.apache.flink.test.streaming.api.StreamingOperatorsITCase.after(StreamingOperatorsITCase.java:63)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)