[
https://issues.apache.org/jira/browse/FLUME-3094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
roger updated FLUME-3094:
-------------------------
Component/s: Sinks+Sources
> when some of file was rolling by log4j, I fond a bug of this tailsource
> -----------------------------------------------------------------------
>
> Key: FLUME-3094
> URL: https://issues.apache.org/jira/browse/FLUME-3094
> Project: Flume
> Issue Type: Bug
> Components: Sinks+Sources
> Affects Versions: 1.7.0
> Reporter: roger
>
> Hi,
> I fond a bug of this tailsource.
> When I use the regular expression to match files under a folder. when some of
> file was rolling by log4j, this file's start position which is used to record
> tail position will be setted to 0. And then all of matched files will be
> readed again.
> after checking the code. I find below info:
> The process() will update all of inodes info by
> "existingInodes.addAll(reader.updateTailFiles());"
> But the the skipToEnd will be setted to "false" when update this file.
> " public List<Long> updateTailFiles() throws IOException
> { return updateTailFiles(false); }
> "
> when this file was rolled. below code will be executed. this startPos will be
> setted to 0. It will be readed again.
> if (tf == null || !tf.getPath().equals(f.getAbsolutePath()))
> { long startPos = skipToEnd ? f.length() : 0; tf = openFile(f, headers,
> inode, startPos); }
> Does anyone occurred same problem or is there any setting I missed?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)