Description
Under heavy load, the async task executor in kahadb can throw RejectedExecutionException meaning it can't accept more tasks.
Thread pool executor has RejectedExecutionHandler that deals with these situations and by default it aborts the task and throws the exception. I think it's much better to use ThreadPoolExecutor.CallerRunsPolicy which will try to execute the task in the current thread and thus sync the execution.