oozieのステータス管理についてメモ

coordinator job
coordinator action
workflow job
workflow action

oozie では、これらは別々の概念として扱われる。
現状、coordinator action と workflow job は一対一であり、
coordinator action = workflow job
と勘違いしやすいところだが、oozieのデータモデル上、明確に区別されている。

特に、suspend の動作を理解するためには、この区別が重要そうだ。

coord job を suspend した場合、そのcoord job 配下で RUNNING の workflow job があれば、それらもあわせて suspend される。
但し、coord action にはそもそも SUSPENDED のステータスが存在しない。
coord job を suspend した場合、RUNNING の coord action は RUNNING のままとなる(対応する workflow job が resume され、SUCCESS するのを待つ)
WAITING の coord action は、実行条件が揃うと RUNNING まで遷移してしまい、対応する workflow job が RUNNING となる。

即ち、coord job に suspend コマンドを実行しても、実際の処理は、コマンド実行時に WAITING となっていた coord action が全て SUCCESS になまで完了しない。
かなりイマイチな仕様・・・

(CDH3 Update2)