Patrick Dvorak created FLUME-2525:
-------------------------------------

             Summary: flume should handle a zero byte .flumespool-main.meta 
file for the spooldir source
                 Key: FLUME-2525
                 URL: https://issues.apache.org/jira/browse/FLUME-2525
             Project: Flume
          Issue Type: Bug
          Components: Sinks+Sources
    Affects Versions: v1.5.0.1
            Reporter: Patrick Dvorak


When a zero byte .flumespool-main.meta file exists in the trackerDir (usually 
do to the partition filling up), flume will throw the following ambiguous error 
message when trying to read in new spool files:
2014-10-19 18:28:31,333 ERROR 
org.apache.flume.client.avro.ReliableSpoolingFileEventReader: Exception opening 
file: /home/spooldir/input.log
java.io.IOException: Not a data file. 
at org.apache.avro.file.DataFileStream.initialize(DataFileStream.java:102) 
at org.apache.avro.file.DataFileReader.<init>(DataFileReader.java:97) 
at org.apache.avro.file.DataFileWriter.appendTo(DataFileWriter.java:160) 
at org.apache.avro.file.DataFileWriter.appendTo(DataFileWriter.java:149) 
at 
org.apache.flume.serialization.DurablePositionTracker.<init>(DurablePositionTracker.java:141)
 
at 
org.apache.flume.serialization.DurablePositionTracker.getInstance(DurablePositionTracker.java:76)
 
at 
org.apache.flume.client.avro.ReliableSpoolingFileEventReader.getNextFile(ReliableSpoolingFileEventReader.java:420)
 
at 
org.apache.flume.client.avro.ReliableSpoolingFileEventReader.readEvents(ReliableSpoolingFileEventReader.java:215)
 
at 
org.apache.flume.source.SpoolDirectorySource$SpoolDirectoryRunnable.run(SpoolDirectorySource.java:182)
 
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) 
at java.lang.Thread.run(Thread.java:662) 

Restarts of the flume agent do not resolve the issue.  Only when the zero byte 
file is removed, will flume properly start processing files from the spooldir 
again.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to