You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Oleg Zhurakousky (JIRA)" <ji...@apache.org> on 2016/10/21 13:26:58 UTC

[jira] [Commented] (NIFI-2928) FetchFile routes to not.found when it cannot determine whether or not the file exists

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

Oleg Zhurakousky commented on NIFI-2928:
----------------------------------------

I've just fixed a very similar issue with GetFile (NIFI-2919), so I will target this for 1.1 since the fix for this one is very similar.

> FetchFile routes to not.found when it cannot determine whether or not the file exists
> -------------------------------------------------------------------------------------
>
>                 Key: NIFI-2928
>                 URL: https://issues.apache.org/jira/browse/NIFI-2928
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 0.7.1
>            Reporter: Christopher McDermott
>             Fix For: 1.1.0
>
>
> I have a flow that reads files from an NFS volume.  To simulate the NFS server being offline/unreachable I am using IP tables to block all TCP traffic between the NFS server and the host running NiFi.
> Trying to read files using FetchFile, I am seeing
> 2016-10-20 20:34:31,789 ERROR [Timer-Driven Process Thread-4] o.a.nifi.processors.standard.FetchFile FetchFile[id=9e642524-0e05-4d58-aabc-d6b49d687917] Could not fetch file /share/st5103/REDACTED from file system for StandardFlowFileRecord[uuid=1f88f322-57a2-4ac5-87df-d53fdd63d52c,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1476995181657-18524, container=default, section=92], offset=569544, length=745],offset=0,name=1248995905448067,size=745] because the file does not exist; routing to not.found
> The file is actually there, but of course it is inaccessible because the network traffic is blocked.
> I see the code is using {{File.exists()}}.
> This [bug|https://bugs.openjdk.java.net/browse/JDK-6191254] report suggest that it should instead use
> {{[File.toPath().checkAccess()|http://download.java.net/jdk7/archive/b123/docs/api/java/nio/file/Path.html#checkAccess(java.nio.file.AccessMode...)]}}
> {{[java.nio.Files.notExists()|http://docs.oracle.com/javase/7docs/api/java/nio/file/Files.html#notExists-java.nio.file.Path-java.nio.file.LinkOption...-]}} uses {{checkAccess()}} and might be a drop-in replacement.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)