-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3520/
-----------------------------------------------------------
Review request for Flume.
Summary
-------
I've filled in the existing FileChannel skeleton, but have simplified it in
that I'm persisting each event as its own file in order to avoid problems with
asynchronous source and sink transaction boundaries. There are 4 subdirectories
that each file transitions among: writing, complete, reading, and removed.
Within each subdirectory, event files are contained within transaction
subdirectories, so that whole transactions can be moved from one state to
another atomically (at least to the limits of the underlying filesystem).
While it will work in isolation, it is intended to support high volume via
external batching and unbatching of events as I have described in an earlier
comment in FLUME-896.
This patch also depends on the patch I submitted for FLUME-935.
This addresses bug FLUME-896.
https://issues.apache.org/jira/browse/FLUME-896
Diffs
-----
/branches/flume-728/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
1232571
/branches/flume-728/flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannel.java
1232571
Diff: https://reviews.apache.org/r/3520/diff
Testing
-------
I've included a few new unit tests (though the coverage is still mostly
happy-path), and this code has also been integration-tested as part of a
production release, including various failure modes both contrived and real.
Thanks,
Peter