[ https://issues.apache.org/jira/browse/NIFI-1165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15007032#comment-15007032 ]
Mark Payne commented on NIFI-1165: ---------------------------------- I attached a patch for TailFile. The processor was leaking the RandomAccessFile when stopped and started, which caused the unit tests to fail in the setup() method. After addressing that issue, I needed to also fix the timestamp so that it works with file systems that use a second-precision Last Modified Date as well as those that use millisecond-precision. I also found that RandomAccessFile will lock the file in Windows, so that the log file being written to couldn't be rolled over; this was addressed by changing from a RandomAccessFile to a FileChannel. > Master Build Fails on Windows > ----------------------------- > > Key: NIFI-1165 > URL: https://issues.apache.org/jira/browse/NIFI-1165 > Project: Apache NiFi > Issue Type: Bug > Reporter: Joseph Percivall > Assignee: Joseph Percivall > Priority: Blocker > Fix For: 0.4.0 > > Attachments: 0001-NIFI-1165-TailFileFixForWindows.patch > > > I tested with two separate Windows 8 machines and get the same errors when > building master. There are errors in PutHDFSTest, TestRouteText and > TestTailFile > PutHDFSTest fails on lines 186 and 198. > The output for the TestRouteText and TestTailFile: > TestRouteText.testJson:655 expected:<7> but was:<0> > TestRouteText.testXml:691 expected:<1> but was:<0> > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestTailFile.testRolloverAfterHavingReadAllData:277 expected:<2> but was:<0> > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestTailFile.setup:61 null > TestHDFS is failing due to: "java.io.IOException: Could not locate executable > null\bin\winutils.exe in the Hadoop binaries." > TestRouteText is actually failing due to attempting to take into account > Windows by using "System.lineSeparator()" when traversing a file that is > checked into git using "\n" line separators. > TestTailFile I believe is failing due to the processor holding a lock on the > file while the file is trying to be rolled over. In order to manually test > it, I ran NiFi and started tailing a file. When I tried to rename it (like a > server rolling over a file would) it told me it was in use by Java. > I already have a fix for TestRouteText, Oleg and I are working on HDFS, and > Mark is working on TailFile -- This message was sent by Atlassian JIRA (v6.3.4#6332)