----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/5175/#review8005 -----------------------------------------------------------
Thanks for doing this change Mike. Its long due technical debt. I suggest that once we review it at a high level, we can push this in and then root out more issues via actual testing. flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java <https://reviews.apache.org/r/5175/#comment17372> I think to be on the safer side we should make this class all synchronized. It does introduce a potential for dead locks but without making this change, it is hard to analyze where other problems may be. flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java <https://reviews.apache.org/r/5175/#comment17370> should be volatile or guarded flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSEventSink.java <https://reviews.apache.org/r/5175/#comment17371> This block is being done outside of a committed transaction. As a result, a failure in this will likely cause data loss. I suggest move it inside with a nested try/catch if necessary. - Arvind On 2012-05-21 07:24:02, Mike Percy wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/5175/ > ----------------------------------------------------------- > > (Updated 2012-05-21 07:24:02) > > > Review request for Flume. > > > Summary > ------- > > BucketWriter refactoring: append() does all the work of open/close/roll. > open() is a private method that takes no arguments. No abort() call. Only one > constructor. > Far fewer entry points and code paths. I believe I've closed all or many of > the race conditions and clarified the API responsibilities/semantics. > > > This addresses bug FLUME-1219. > https://issues.apache.org/jira/browse/FLUME-1219 > > > Diffs > ----- > > > flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSEventSink.java > d272f74 > > flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java > 91cb822 > > flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestBucketWriter.java > 397138b > > flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestHDFSEventSink.java > 0f78f37 > > Diff: https://reviews.apache.org/r/5175/diff > > > Testing > ------- > > Looks good under load. Unit tests pass. > > > Thanks, > > Mike > >
