[ 
https://issues.apache.org/jira/browse/IO-528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15980343#comment-15980343
 ] 

ASF GitHub Bot commented on IO-528:
-----------------------------------

Github user asfgit closed the pull request at:

    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)

Reply via email to