> On 2012-04-06 13:53:29, Brock Noland wrote:
> > flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java,
> >  line 260
> > <https://reviews.apache.org/r/4661/diff/2/?file=100325#file100325line260>
> >
> >     It's possible a file could be created but we are unable to write the 
> > header.  Currently this will throw an EOFException in the constructor and 
> > the user would have to catch this and ignore it. It's probably preferable 
> > that the user is allowed to call next which returns null since the file is 
> > empty.

This EOFException is declared and then caught by the caller since the object 
has getters that are invalid if the header is not read.


- Brock


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


On 2012-04-06 22:02:33, Brock Noland wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4661/
> -----------------------------------------------------------
> 
> (Updated 2012-04-06 22:02:33)
> 
> 
> Review request for Flume.
> 
> 
> Summary
> -------
> 
> This patch implements a durable file channel. It does by writing all 
> transaction events to disk and syncing to disk when a commit occurs. It does 
> have a memory component in that pointers to the event on disk are kept in 
> memory. This will consume 8 bytes of direct memory (non-heap) per event. Some 
> basic calculations are in the FileChannel java docs.
> 
> 
> This addresses bug FLUME-1085.
>     https://issues.apache.org/jira/browse/FLUME-1085
> 
> 
> Diffs
> -----
> 
>   flume-ng-channels/flume-file-channel/pom.xml 926e58a 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Checkpoint.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Commit.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
>  a279453 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannelConfiguration.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FlumeEvent.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FlumeEventPointer.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FlumeEventQueue.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogUtils.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Pair.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Put.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/ReplayHandler.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Rollback.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Take.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestCheckpoint.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannel.java
>  ab66998 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFlumeEvent.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFlumeEventPointer.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFlumeEventQueue.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestLog.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestLogFile.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecord.java
>  PRE-CREATION 
>   
> flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestUtils.java
>  PRE-CREATION 
>   flume-ng-channels/flume-file-channel/src/test/resources/log4j.properties 
> 739ecc8 
>   
> flume-ng-channels/flume-recoverable-memory-channel/src/main/java/org/apache/flume/channel/recoverable/memory/RecoverableMemoryChannel.java
>  0622f27 
>   
> flume-ng-channels/flume-recoverable-memory-channel/src/main/java/org/apache/flume/channel/recoverable/memory/wal/SequenceIDBuffer.java
>  fa63b73 
>   flume-ng-core/src/main/java/org/apache/flume/channel/ChannelType.java 
> d8419e8 
>   flume-ng-core/src/main/java/org/apache/flume/sink/NullSink.java c812851 
>   flume-ng-core/src/main/java/org/apache/flume/tools/DirectMemoryUtils.java 
> PRE-CREATION 
>   flume-ng-sdk/src/test/java/org/apache/flume/api/TestFailoverRpcClient.java 
> 225cd34 
>   flume-ng-sdk/src/test/java/org/apache/flume/api/TestNettyAvroRpcClient.java 
> 0b8a2c0 
> 
> Diff: https://reviews.apache.org/r/4661/diff
> 
> 
> Testing
> -------
> 
> Unit tests and integration tests added to cover obvious cases.
> 
> 
> Thanks,
> 
> Brock
> 
>

Reply via email to