I propose that all cluster components (TajoMaster, TajoWorker, and TajoClient) in a Tajo cluster should have a diagnosis phase to eliminate or detect invalid situations prior to runtime query errors.
For example, your query can cause some runtime exception due to wrong config after a query takes 2 hours. This situation is definitely not acceptable in production.
I think that the diagnosis phase should check all configs, connectivities among cluster components, and status of workers.
In detail, we need a diagnosis executor, extensible diagnosis rule interface, and its rules. Also, one of diagnosis rules would be