7191467: (fs) WatchService periodically fails to queue ENTRY_DELETE event for short lived file [sol11]
Vitaly Davidovich
vitalyd at gmail.com
Wed Aug 15 05:50:39 PDT 2012
Hi Alan,
SolarisWatchKey.getChild() doesn't need the null check anymore.
Thanks
Sent from my phone
On Aug 15, 2012 7:20 AM, "Alan Bateman" <Alan.Bateman at oracle.com> wrote:
>
> MayFlies is one of the tests for the WatchService, it's a stress test that
> ensures that there are corresponding ENTRY_DELETE events for each
> ENTRY_CREATE event when the files are very short lived. This test fails
> periodically on Solaris 11 where it appears that FILE_REMOVE events aren't
> being queued by the kernel. There are a couple of workarounds in this code
> to deal with a kernel issues in this area and I've decided it to be best to
> just remove these and change the implementation so that it detects file
> deletions when scanning the directory (which it has to do anyway when the
> directory changes).
>
> The webrev with the changes is here:
>
> http://cr.openjdk.java.net/~**alanb/7191467/webrev/<http://cr.openjdk.java.net/~alanb/7191467/webrev/>
>
> The main change is that entries in directories are only registered with
> the kernel when the directory is registered for ENTRY_MODIFY events.
> ENTRY_CREATE and ENTRY_DELETE events are now completely triggered on
> changes to the directory.
>
> One other change in here, and it stemmed from a discussion on this mail a
> few months ago, is that if there is an error encountered when iterating
> over the directory then an OVERFLOW event is queued. That is the trigger to
> the user application to re-scan the directory to update its view of the
> directory.
>
> -Alan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20120815/291cc57b/attachment.html
More information about the nio-dev
mailing list