[
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