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

Brock Noland commented on FLUME-1593:
-------------------------------------

OK so it's the Function class and exception classes which you don't like.

The function class is there to consolidate the error handling and retry logic. 
Currently this logic is copied 4 places, if we are going to make it more 
complex, I think it makes sense to make it generic so we can ensure it's well 
tested?

The new exceptions are there purely to differentiate them from IOException. If 
it's an IOException we absolutely want to log it. However, file closed and max 
size exceeded are both recoverably and as such should not be logged. Like 
EOFException in the LogFile readers. We certainly could remove the FileClosed 
and MaxLength exceptions since they are both subclasses of the Retryable and 
the action under both cases is the same.
                
> 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