I think I have found a bug in FetchFile. 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...)> Should I file a JIRA? Chris McDermott Remote Business Analytics STaTS/StoreFront Remote HPE Storage Hewlett Packard Enterprise Mobile: +1 978-697-5315 [cid:[email protected]]
