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

[email protected] commented on FLUME-984:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3980/#review5837
-----------------------------------------------------------


Thanks for the patch Brock. 

I am not in favor of an interface to be implemented by the exception to signal 
any specific cause. The reason being that it will be hard and error prone for 
us to bring this into compliance specially for components developed outside of 
Flume. Any explicit contract that cannot be enforced is likely to become a 
cause of headaches in the field. Hence, my suggestion is to do the following:

* Remove the FatalException interface
* Update the runners to catch(Exception) once they have dealt with all the 
known exception types, log it and do a BACKOFF wait simulation.

This will ensure that the runners do not bail out if an exception occurs and 
keep retrying. This may be futile in some cases but would make sense in other 
cases as once a process/thread exits there is no restoring it without more 
complex logic up top or via manual intervention.

- Arvind


On 2012-02-29 10:42:17, Brock Noland wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3980/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-02-29 10:42:17)
bq.  
bq.  
bq.  Review request for Flume.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Catches, logs, and sleeps when a general exception occurs. This is similar 
to PollingSourceRunner.
bq.  
bq.  
bq.  This addresses bug FLUME-984.
bq.      https://issues.apache.org/jira/browse/FLUME-984
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    flume-ng-core/src/main/java/org/apache/flume/FatalException.java 
PRE-CREATION 
bq.    
flume-ng-core/src/main/java/org/apache/flume/source/PollableSourceRunner.java 
264fce1 
bq.    flume-ng-core/src/main/java/org/apache/flume/SinkRunner.java 9e46d87 
bq.  
bq.  Diff: https://reviews.apache.org/r/3980/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  All unit tests pass.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Brock
bq.  
bq.


                
> SinkRunner should catch unhanded exceptions and log them like 
> PollingSourceRunner
> ---------------------------------------------------------------------------------
>
>                 Key: FLUME-984
>                 URL: https://issues.apache.org/jira/browse/FLUME-984
>             Project: Flume
>          Issue Type: Improvement
>          Components: Sinks+Sources
>    Affects Versions: v1.0.0
>            Reporter: Brock Noland
>            Assignee: Brock Noland
>         Attachments: FLUME-984-0.patch, FLUME-984-1.patch, FLUME-984-2.patch
>
>
> If a Sink throws any exception but EventDeliveryException the sink will die. 
> We should catch the exception, perhaps backoff a bit, and retry like 
> PollingSourceRunner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to