I relaxed chain type in my patch:
1) if the wf dag does not contain fork/join, i evaluate the longest possible execution path.
2) if the dag contains fork/join, I simply count total number of work actions (excluding control nodes and dummy nodes like "start", "end", "kill").
Closes OOZIE-130 build workflow progress information in Oozie
DONE is bot a terminal state. So I believe it should not be counted as completed.
What happened to other states : KILLED, FAILED, ERROR? Does progress count only the SUCCESS case?
you're right. I only considered success state here - consider all terminal states make more sense.
Done looks to me a terminal state, no?
If there are FORK and DECISION in the same WF, are we still counting the all paths in decision for total count?
For this patch yes - i took a simple approach if wf has fork/join - count all actions, even for decision case.
As i said, it can be improved later - purpose of this patch is not to provide a full-blown solution.
Why it is displaying conditionally? It will make the output inconsistent. For example, if someone is parsing this output, he will need to consider the presence and non-presence of this field. Moreover, when we will add more columns, it will be hard to isolate this column. If there is no work done, could not we show 0%?
Will remote this. Originally it's for the cases where no progress info is available from oozie server.
But for now, all wfs will have some progress score - so can be simply removed.
If there is no work done, should show 100%, rather 0%.
Closes OOZIE-130 Incorporated review feedback
I believe DONE is not a terminal state.
removed this state.
The value here, to be consistent with other primitive types must be ZERO.
later review feedback commit already removed -1 piece.
The value here, to be consistent with primitive types must be ZERO.
same here - this has become orphan code - already removed in later review commit.
don't do a return in the middle o the method, difficult to follow flow, return should be only one at the end of the method
don't do continue, instead use an if block to skip
Wouldn't be easier to for users if the progress is an integer representing the percentage, then is always 2 digits, easier to display
Closes OOZIE-130 Incorporated more review feedback