Bug 5691 - "Looping" should be clarified?
"Looping" should be clarified?
Status: NEW
Product: jbatch
Classification: Unclassified
Component: SPEC
1
All All
: P5 minor
: ---
Assigned To: ScottKurz
1.0_mr_pending
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-07 20:57 UTC by ScottKurz
Modified: 2014-01-10 10:14 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ScottKurz 2014-01-07 20:57:10 UTC
It's been bothering me somewhat that the prohibition on looping is not precisely defined... enough to write something up.

Note this builds on the concept laid out in Sec. 10.8 during restart where we transition through the job definition, as we determine what does and doesn't need to be executed/re-executed (though "transitioned to" isn't quite precisely defined either).

Any thoughts?

------------------------------------------------------------------------------

8.6.6.1	Loop definition

The specification prohibits ‘next’ and ‘to’ attribute values that result in a “loop”.  More precisely, this means that no execution element can be transitioned to twice within a single job execution.     

This wording is purposely written this way rather than merely saying no execution element can be executed twice within a single job execution.     Say “step1” executed to completion during an initial execution which ultimately failed, and upon restart we transitioned past “step1” without executing it since it had already completed, but we subsequently transitioned (back) to “step1”.   This may only be a single execution of “step1” during a single job execution, but it still violates the looping prohibition.

The runtime may detect potential loops in an initial validation phase, as described in section 13.1, or may only detect loops once they occur.
Comment 1 ScottKurz 2014-01-10 10:14:55 UTC
Added new subsection under new section 8.9 (added for Bugs 5732-4).
---

8.9.3	Loop definition

The specification prohibits ‘next’ and ‘to’ attribute values that result in a “loop”.  More precisely, this means that no execution element can be transitioned to twice within a single job execution.     

This wording is purposely written this way rather than merely saying no execution element can be executed twice within a single job execution.     Say “step1” executed to completion during an initial execution which ultimately failed, and upon restart we transitioned past “step1” without executing it since it had already completed, but we subsequently transitioned (back) to “step1”.   This may only be a single execution of “step1” during a single job execution, but it still violates the looping prohibition.

The runtime may detect potential loops in an initial validation phase, as described in section 13.1, or may only detect loops once they occur.