Review Board 1.7.22


Fix for TestFlumeEventQueue failures in FileChannel on Windows

Review Request #11536 - Created May 30, 2013 and updated

Roshan Naik
flume-1.4
FLUME-2058
Reviewers
Flume
flume-git
Windows does not allow deletion of files that are in use. Java does not yet allow explicitly unmapping memory mapped files so until these files are unmapped by the GC, we cannot delete them explicitly.

Checkpoint files are being reused across tests. Deletion of checkpoint files fails in these tests as the file memory mapped. 

Fix: Not reusing checkpoint files to avoid deletion problems. Also ensuring files are setup to be deleted by jvm on exit.
TestFlumeEventQueue test now pass on Windows.
Posted (June 18, 2013, 11:51 p.m.)
Roshan,

The idea behind this patch is good - but I'd like to keep the files in the tests named the same as the actual files being used by the File Channel. So I'd recommend creating the files as before itself, but in different temporary directories and setting all of them up for deletion at JVM exit. 
Posted (June 21, 2013, 9:11 p.m.)
I'm shooting for tomorrow for the first RC, if we can get this committed before then then that would be great
Posted (July 17, 2013, 5 p.m.)
How's about using the flag FILE_SHARE_DELETE - but will be only supported in J7, unfortunately (http://www.docjar.com/html/api/sun/nio/fs/WindowsFileAttributeViews.java.html)?