[ 
https://issues.apache.org/jira/browse/FLUME-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458132#comment-13458132
 ] 

Brock Noland edited comment on FLUME-1558 at 9/19/12 7:41 AM:
--------------------------------------------------------------

Key name with stored data has changed. e.g. `key-0' has been regenerated but 
the original key still has data referencing it in the FC log files.

The channel has been restarted:
{noformat}
Caused by: java.io.IOException: Unable to read next Transaction from log file 
/tmp/flume/data1-1/log-4 at offset 0
        at 
org.apache.flume.channel.file.LogFile$SequentialReader.next(LogFile.java:456)
        at 
org.apache.flume.channel.file.ReplayHandler.replayLog(ReplayHandler.java:245)
        at org.apache.flume.channel.file.Log.replay(Log.java:355)
        at org.apache.flume.channel.file.FileChannel.start(FileChannel.java:272)
        at 
org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:236)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        ... 1 more
Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message 
tag had invalid wire type.
        at 
com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:78)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:498)
        at 
com.google.protobuf.GeneratedMessage$Builder.parseUnknownField(GeneratedMessage.java:438)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.mergeFrom(ProtosFactory.java:2880)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.mergeFrom(ProtosFactory.java:2732)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:212)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:746)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:238)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:282)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:760)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:288)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:752)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader.parseDelimitedFrom(ProtosFactory.java:2689)
        at 
org.apache.flume.channel.file.TransactionEventRecord.fromByteArray(TransactionEventRecord.java:193)
        at 
org.apache.flume.channel.file.LogFileV3$SequentialReader.doNext(LogFileV3.java:313)
        at 
org.apache.flume.channel.file.LogFile$SequentialReader.next(LogFile.java:452)
        ... 13 more
{noformat}


The channel has been reconfigured or no replay was required during restart:

{noformat}
Caused by: org.apache.flume.ChannelException: Take failed due to IO error 
[channel=channel1]
        at 
org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doTake(FileChannel.java:461)
        at 
org.apache.flume.channel.BasicTransactionSemantics.take(BasicTransactionSemantics.java:113)
        at 
org.apache.flume.channel.BasicChannelSemantics.take(BasicChannelSemantics.java:91)
        at org.apache.flume.sink.LoggerSink.process(LoggerSink.java:66)
        ... 3 more
Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message 
tag had invalid wire type.
        at 
com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:78)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:498)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:461)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:579)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:280)
        at 
com.google.protobuf.CodedInputStream.readGroup(CodedInputStream.java:240)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:488)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:461)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:579)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:280)
        at 
com.google.protobuf.CodedInputStream.readGroup(CodedInputStream.java:240)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:488)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:461)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:579)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFrom(UnknownFieldSet.java:280)
        at 
com.google.protobuf.CodedInputStream.readGroup(CodedInputStream.java:240)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:488)
        at 
com.google.protobuf.GeneratedMessage$Builder.parseUnknownField(GeneratedMessage.java:438)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.mergeFrom(ProtosFactory.java:2880)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.mergeFrom(ProtosFactory.java:2732)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:212)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:746)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:238)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:282)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:760)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:288)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:752)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader.parseDelimitedFrom(ProtosFactory.java:2689)
        at 
org.apache.flume.channel.file.TransactionEventRecord.fromByteArray(TransactionEventRecord.java:193)
        at 
org.apache.flume.channel.file.LogFileV3$RandomReader.doGet(LogFileV3.java:252)
        at 
org.apache.flume.channel.file.LogFile$RandomReader.get(LogFile.java:291)
        at org.apache.flume.channel.file.Log.get(Log.java:408)
        at 
org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doTake(FileChannel.java:458)
        ... 6 more
{noformat}
                
      was (Author: brocknoland):
    
Key name with stored data has changed. e.g. `key-0' has been regenerated but 
the original key still has data referencing it in the FC log files:
{noformat}
Caused by: java.io.IOException: Unable to read next Transaction from log file 
/tmp/flume/data1-1/log-4 at offset 0
        at 
org.apache.flume.channel.file.LogFile$SequentialReader.next(LogFile.java:456)
        at 
org.apache.flume.channel.file.ReplayHandler.replayLog(ReplayHandler.java:245)
        at org.apache.flume.channel.file.Log.replay(Log.java:355)
        at org.apache.flume.channel.file.FileChannel.start(FileChannel.java:272)
        at 
org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:236)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        ... 1 more
Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message 
tag had invalid wire type.
        at 
com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:78)
        at 
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:498)
        at 
com.google.protobuf.GeneratedMessage$Builder.parseUnknownField(GeneratedMessage.java:438)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.mergeFrom(ProtosFactory.java:2880)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.mergeFrom(ProtosFactory.java:2732)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:212)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:746)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:238)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:282)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:760)
        at 
com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:288)
        at 
com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:752)
        at 
org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader.parseDelimitedFrom(ProtosFactory.java:2689)
        at 
org.apache.flume.channel.file.TransactionEventRecord.fromByteArray(TransactionEventRecord.java:193)
        at 
org.apache.flume.channel.file.LogFileV3$SequentialReader.doNext(LogFileV3.java:313)
        at 
org.apache.flume.channel.file.LogFile$SequentialReader.next(LogFile.java:452)
        ... 13 more
{noformat}
                  
> FileChannel Document errors when various Encryption options are not specified 
> or specified bad
> ----------------------------------------------------------------------------------------------
>
>                 Key: FLUME-1558
>                 URL: https://issues.apache.org/jira/browse/FLUME-1558
>             Project: Flume
>          Issue Type: Improvement
>          Components: Docs
>            Reporter: Brock Noland
>            Priority: Minor
>
> Encryption errors are notoriously bad. We should document what happens when 
> you don't specified the various file channel encryption options correctly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to