-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/7115/
-----------------------------------------------------------

(Updated Sept. 14, 2012, 7:28 p.m.)


Review request for Flume.


Changes
-------

Fixes CheckpointBuilder main so if the checkpoint file exists, an error is 
logged and we do not run the cpb.


Description
-------

This patch addresses the issue by moving the logic of whether or not to use 
fast full replay up to the Log class. The reason this is required is because 
even for a non-existing checkpoint upon start, the file itself will be be 
created when we create the BackingStore for FlumeEvent queue, which must be 
done before we create the CheckpointBuilder.


This addresses bug FLUME-1583.
    https://issues.apache.org/jira/browse/FLUME-1583


Diffs (updated)
-----

  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java
 6e1d2fc 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java
 1d91460 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/ReplayHandler.java
 7c32526 
  
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestCheckpointRebuilder.java
 PRE-CREATION 
  
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannelRestart.java
 4133573 
  
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestUtils.java
 2b88b96 

Diff: https://reviews.apache.org/r/7115/diff/


Testing
-------

There is no automated way to test whether a fast full replay occurred. I have 
added two tests

testFastReplayNegativeTestV1
testFastReplayNegativeTestV2

which can be used to manually verify the logic. When run you look for


Found NextFileID 0, from []
Not disabling fast full replay because checkpoint  does not exists: 
.../chkpt/checkpoint

Found NextFileID 3, from [....]
Disabling fast full replay because checkpoint exists: .../chkpt/checkpoint

in the debug output. I think we can remove the need for manual testing via 
FLUME-1580.


Thanks,

Brock Noland

Reply via email to