Bug 5691

Summary: "Looping" should be clarified?
Product: jbatch Reporter: ScottKurz
Component: SPECAssignee: ScottKurz
Status: NEW ---    
Severity: minor CC: issues
Priority: P5    
Version: 1   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard: 1.0_mr_pending

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.