Christopher McDermott created NIFI-2928:
-------------------------------------------

             Summary: FetchFile routes to fil
                 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


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/8/docs/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)

Reply via email to