[ 
https://issues.apache.org/jira/browse/IO-528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pascal Schumacher resolved IO-528.
----------------------------------
       Resolution: Fixed
         Assignee: Pascal Schumacher
    Fix Version/s: 2.6

> 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
>            Assignee: Pascal Schumacher
>             Fix For: 2.6
>
>
> `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