Currently the ExecutorNotifier runs the handler in the worker thread if there is an exception thrown from the callable. This breaks the threading model and prevents an exception from bubbling up to fail the job.
Another issue is that right now, when an exception bubbles up from the SourceCoordinator, the UncaughtExceptionHandler will call System.exit(-17) and kill the JM. This is too much. Instead, we should just fail the job to trigger a failover.