[
https://issues.apache.org/jira/browse/IO-528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15848001#comment-15848001
]
Dave Moten commented on IO-528:
-------------------------------
Github PR: https://github.com/apache/commons-io/pull/29
> Tailer.run race condition runaway logging
> -----------------------------------------
>
> Key: IO-528
> URL: https://issues.apache.org/jira/browse/IO-528
> Project: Commons IO
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 2.5
> Reporter: Dave Moten
>
> `Tailer.run` has a race condition that can have serious effects.
> The `run()` method has two while loops. The first waits till the file exists
> and the second loop reads lines from the file doing some file rotation
> checking on the way. If the file is deleted while the second loop is in
> progress then the loop goes crazy logging warnings that look like this:
> `
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileRotated
> INFO: file rotated
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileNotFound
> WARNING: file not found
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileRotated
> INFO: file rotated
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileNotFound
> WARNING: file not found
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileRotated
> INFO: file rotated
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileNotFound
> WARNING: file not found
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileRotated
> INFO: file rotated
> Dec 06, 2016 1:02:18 AM com.github.davidmoten.logan.LogFile$1 fileNotFound
> WARNING: file not found
> `
> In our case this had serious effects. The file being tailed was deleted by
> another process and all available disk space was rapidly used up by the
> logging. This crashed a system.
> The fix is to put a sleep after the call to `fileNotFound()`.
> This problem was raised in IO-398 three years ago but no change was made to
> the code base.
> PR submitted via github repo.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)