You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Christopher McDermott (JIRA)" <ji...@apache.org> on 2016/10/20 21:31:58 UTC
[jira] [Created] (NIFI-2928) FetchFile routes to fil
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)