FLUME-1134: LifecycleSupervisor.MonitorRunnable does not log runtime errors
Review Request #4839 - Created April 22, 2012 and submitted
Currently we use an ScheduledExecutorService which eats any throwable from MonitoredRunnable. The change is to log the error and then propagate in case the caller implementation should change.
Logging only change.
Posted (April 23, 2012, 6:35 a.m.)
Looks good, if the intent was simply to log it. I am not sure of the intent here, is it just to log or to try and take an action to fix the situation(the propogate call seems to suggest that you want to get the exception thrown to one of the other threads or the process terminated). If the intent is to really check for exceptions in each of the monitorRunnables and take some action, like shutdown the monitorService or something, we could have a scheduled thread execute every few seconds and call monitorFutures.get(lifecyleAware).get() on all the futures stored in monitorFutures map. If one of them died due to an exception we can catch it.
Review request changed
Updated (Aug. 21, 2012, 3:06 p.m.)
- changed from pending to submitted