-----------------------------------------------------------
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

Reply via email to