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)