[
https://issues.apache.org/jira/browse/FLUME-2525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Johny Rufus updated FLUME-2525:
-------------------------------
Attachment: FLUME-2525.patch
> 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
> Attachments: FLUME-2525.patch
>
>
> 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)