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

Ted Malaska commented on FLUME-2160:
------------------------------------

OK I've written the code to rename the file to a failed suffix.  But before I 
finished the Junits I notice that this error in this jira is related to the 
close() function is being called on the currentFile.get().getDeserializer() 
then a readnext call is being called.

>From looking at the current code I do not see how this could happen.  Unless 
>close() method on ReliableSpoolingFileEventReader from a different thread.  

So Rob you may find that moving to the newest version of flume may solve your 
problem.  

My fix that I intend to add will not fix the core issue you are having.  It 
will only prevent it from repeating over and over.

I will submit that patch and I will close this bug with that. When you test 
this on a new version of Flume let us know if this 
"java.lang.IllegalStateException: Serializer has been closed" continues to 
happen.

If if does we can make you a patch that will add some debugging to figure out 
what is happening on your system.
                
> SpoolDirectorySource uncaught exception
> ---------------------------------------
>
>                 Key: FLUME-2160
>                 URL: https://issues.apache.org/jira/browse/FLUME-2160
>             Project: Flume
>          Issue Type: Bug
>          Components: Sinks+Sources
>    Affects Versions: v1.3.0
>         Environment: Linux 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 
> 23:51:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Rob
>
> Ive noticed some instabilities with Flume, of particular is this uncaught 
> exception.  One of the bigger challenges with this type of exception, is that 
> the agent is now in a hung state repeating the same exception.  The tooling 
> for inspecting what file/event is causing the issue are lacking or 
> non-existant, and architecturally there should be some functionality 
> equivalant to the "dead-letter-queue".  Here is the exception Im dealing with 
> now:
> 13/08/14 15:37:05 ERROR source.SpoolDirectorySource: Uncaught exception in 
> Runnable
> java.lang.IllegalStateException: Serializer has been closed
>       at 
> org.apache.flume.serialization.LineDeserializer.ensureOpen(LineDeserializer.java:124)
>       at 
> org.apache.flume.serialization.LineDeserializer.readEvents(LineDeserializer.java:88)
>       at 
> org.apache.flume.client.avro.ReliableSpoolingFileEventReader.readEvents(ReliableSpoolingFileEventReader.java:221)
>       at 
> org.apache.flume.source.SpoolDirectorySource$SpoolDirectoryRunnable.run(SpoolDirectorySource.java:154)
>       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)

--
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