Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.6.0
-
None
-
rotating and tailing file
Description
In LWFTAdaptor.java, lastSlurpTime is never updated, triggering an infinite loop if we use the
adaptor FileTailingAdaptor and subclass adaptors.
Loop occurs like this:
1) lastSlurpTime is never changed and thus always 0.
2) we append some data to the log file and we do a normal slurp
3) after this slurp, we have: len == fileReadOffset && fixedNameLastModified > lastSlurpTime
thus we think log file has rotated when it hasn't: fileReadOffset is reset to 0
4) we get: len > fileReadOffset and so we do a slurp of len bytes.
5) we are in the same situation as 3) -> infinite loop: the agent never stops sending chunks
to the collector although log files does not change.
It seems like this bug comes from CHUKWA-646. The first patch tailfile.patch seemed to do it
right but in the second patch, the line "lastSlurpTime = System.currentTimeMillis();" just
disapeared from LWFTAdaptor.java.
Attachments
Attachments
Issue Links
- is broken by
-
CHUKWA-646 FileTailingAdaptor can't handle the file rotating rightly and the checkpoint size is wrong
- Resolved