[
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