Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: v0.9.0, v0.9.1
-
Fix Version/s: v0.9.2
-
Component/s: Sinks+Sources
-
Labels:None
Description
The first tail implementation used buffered readers and file readers. This caused problems because the read call was blocking and couldn't shutdown properly.
The second tail implementation was mroe closely based on gnu tail's C implementation but relies on RandomAccessFile. This version had problems with races (restarting from beginning FLUME-218) and truncation (new test in FLUME-218 patch by Eric Sammer).
The new approach will likely use NIO and nonblocking IO to act cleanly, or possibly use a JNI based approach to get to unix system calls to get and follow file descriptors or inode numbers.
Attachments
Issue Links
- blocks
-
FLUME-258 TailDir should include source file name metadata for sink
-
- Closed
-
- is duplicated by
-
FLUME-518 Flume is consistently using 70%+ of the CPU
-
- Resolved
-
- relates to
-
FLUME-148 text source and tail source are incompatible with unix named pipes
-
- Open
-
-
FLUME-218 race condition in tailsource
-
- Closed
-
-
FLUME-205 TailSource reads lines using a method(readLine) which does character set interpretation and that breaks all my UTF-8 characters
-
- Closed
-
-
FLUME-248 TailSource not closing files
-
- Closed
-
-
FLUME-320 Race condition in new NIO based TailSource
-
- Resolved
-
-
FLUME-232 TailSource will add newlines in the middle of log lines
-
- Closed
-