Existing YARN service support termination policy for different restart policies. For example ALWAYS means service will not be terminated. And NEVER means if all component terminated, service will be terminated.
The name "dominant" might not be most appropriate , we can figure out better names. But in simple, it means, a dominant component which final state will determine job's final state regardless of other components.
1) Tensorflow job has master/worker/services/tensorboard. Once master goes to final state, no matter if it is succeeded or failed, we should terminate ps/tensorboard/workers. And the mark the job to succeeded/failed.
2) Not sure if it is a real-world use case: A service which has multiple component, some component is not restartable. For such services, if a component is failed, we should mark the whole service to failed.