You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "Arun (JIRA)" <ji...@apache.org> on 2014/04/30 13:56:14 UTC

[jira] [Created] (FLUME-2376) File Channel corrupted - java.io.IOException: Unable to read next Transaction from log file

Arun created FLUME-2376:
---------------------------

             Summary: File Channel corrupted - java.io.IOException: Unable to read next Transaction from log file
                 Key: FLUME-2376
                 URL: https://issues.apache.org/jira/browse/FLUME-2376
             Project: Flume
          Issue Type: Bug
          Components: File Channel
    Affects Versions: v1.5.0
         Environment: windows
            Reporter: Arun


I am using filechannel with dual checkpoint enabled. 
getting below error when I restart my agent.
earlier process was abruptly killed. filechannel can not be recovered from state.
Actually i am using version 1.4.0 with patch for https://issues.apache.org/jira/browse/FLUME-2307

is there way to recover filechannel data.

--------- stack trace -----------
ERROR: Failed to initialize Log on [channel=c2]
java.io.IOException: Unable to read next Transaction from log file /data1/collection/data/c2/flume-data/log-198 at offset 69616
	at org.apache.flume.channel.file.LogFile$SequentialReader.next(LogFile.java:629) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.ReplayHandler.next(ReplayHandler.java:383) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.ReplayHandler.replayLog(ReplayHandler.java:280) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.Log.doReplay(Log.java:480) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.Log.replay(Log.java:407) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.FileChannel.start(FileChannel.java:273) [my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251) [my-agent-1.0-SNAPSHOT.jar:na]
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_45]
	at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [na:1.7.0_45]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [na:1.7.0_45]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.7.0_45]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_45]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_45]
	at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
Caused by: com.google.protobuf.InvalidProtocolBufferException: Message missing required fields: type, transactionID, writeOrderID
	at com.google.protobuf.UninitializedMessageException.asInvalidProtocolBufferException(UninitializedMessageException.java:81) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.buildParsed(ProtosFactory.java:2912) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader$Builder.access$5200(ProtosFactory.java:2846) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.proto.ProtosFactory$TransactionEventHeader.parseDelimitedFrom(ProtosFactory.java:2804) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.TransactionEventRecord.fromByteArray(TransactionEventRecord.java:196) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.LogFileV3$SequentialReader.doNext(LogFileV3.java:359) ~[my-agent-1.0-SNAPSHOT.jar:na]
	at org.apache.flume.channel.file.LogFile$SequentialReader.next(LogFile.java:625) ~[my-agent-1.0-SNAPSHOT.jar:na]
	... 13 common frames omitted
Apr 28, 2014 11:43:02 PM org.apache.flume.channel.file.FileChannel start():284 
ERROR: Failed to start the file channel [channel=c2]





--
This message was sent by Atlassian JIRA
(v6.2#6252)