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

Hari Shreedharan commented on FLUME-1593:
-----------------------------------------

I agree that the logic works - the only reason I am not too keen on putting 
this in, as is, is because the channel is already complex as it is(with the two 
different flows to support the old logic etc). 

I feel that we can achieve the same thing using the method above (I edited it 
to add the fact that the buffer is passed in as well). We can still log the 
exception, but we throw it out of the method only if the retry fails n or more 
times. This keeps the logic compact and still not repeating a bunch of times - 
the logic is now in the same method.
                
> FileChannel race condition when log file rolls
> ----------------------------------------------
>
>                 Key: FLUME-1593
>                 URL: https://issues.apache.org/jira/browse/FLUME-1593
>             Project: Flume
>          Issue Type: Improvement
>          Components: Channel
>    Affects Versions: v1.3.0
>            Reporter: Brock Noland
>            Assignee: Brock Noland
>            Priority: Minor
>         Attachments: FLUME-1593-0.patch
>
>
> There is a non-harmful race condition when we roll a log. One thread can call 
> logFiles.get(logFileIndex).{take,put,etc} while another is closing that log 
> writer.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to