Skip to main content

[jsr352-public] Re: any attribute can be substituted?

  • From: Michael Minella < >
  • To: " " < >
  • Subject: [jsr352-public] Re: any attribute can be substituted?
  • Date: Mon, 25 Mar 2013 15:40:47 -0500

Scott,

This is a very disturbing to hear.  By taking this approach (unless I'm missing something) you could have a job that is defined purely by placeholders which means that the state saved between JobExecution and JobExecution becomes meaningless.  How can you say that a JobInstance that is started with one set of batch artifacts is the same as another one if I can change everything about it?  In this case, what is a JobInstance?

I feel that the idea of allowing any value to be substituted goes way too far.



On Mon, Mar 25, 2013 at 3:29 PM, Scott Kurz < " target="_blank"> > wrote:

Michael,

No, we have not constrained the @next or @on values and disallowed substitutions.  

Let me explain a bit.... sorry again on behalf of Chris and myself that we could not have more of this conversation in public, in bugzilla and the ML, etc.    
We did run out of time to submit the final approval ballot, so made an effort to resolve open questions like this based on the RI/TCK experience without going through the bugzilla comments.

The decision I'm describing ended up in PFD v1.7, Sec. 8.8.1.8 and 10.8.

Anyway the motivation for the idea of disallowing "pathological substitutions"  was the case where providing different values on restart that radically altered the transition sequence on restart compared to the original execution.

However, like you pointed out, to disallow on restart you'd have to disallow altogether (on start too).

This seemed artificially constraining.. what if I want my "good" exit code (i.e. @on value) to come from a job-level properties or job parameter?  

We were left with the question... does allowing substitutions on restart leave us with a bad practice on the part of the developer, maybe, but still with a well-defined behavior to spec and implement?  Or does it introduce such pathology that it really needs to be thrown out and disallowed?

It seemed in could indeed be well-defined, and we ended up with the behavior in Sec. 10.8, shown in some of the restart tests (e.g.. BatchletRestartStateMachine) in the TCK update we're dropping today based on the Maven 1.0-b21 version).  Please take a look and see...

The only thing we "threw out" was overriding the number of partitions.  We declared this to be persisted, and so invariant... though here the partition mapper API provides a way to programmatically throw out the earlier execution's partitions and "start over".



------------------------------------------------------
Scott Kurz
WebSphere Batch / Compute Grid Development
T/L 295-5649;
External Phone 845-435-5649
" target="_blank">
--------------------------------------------------------


Inactive hide details for Michael Minella ---03/25/2013 04:00:14 PM---I was under the understanding that there were some limitsMichael Minella ---03/25/2013 04:00:14 PM---I was under the understanding that there were some limits to what could be substituted.  For example

From: Michael Minella < " target="_blank"> >
To: " " target="_blank"> " < " target="_blank"> >,
Date: 03/25/2013 04:00 PM
Subject: [jsr352-public] Re: any attribute can be substituted?





I was under the understanding that there were some limits to what could be substituted.  For example, anything that controls the flow would not be available for substation.  Is that not the case?

Thanks,
Michael Minella

" target="_blank">
http://www.michaelminella.com


On Mon, Mar 25, 2013 at 2:52 PM, Scott Kurz < " target="_blank"> > wrote:
    Cheng,

    We are absolved of having to worry about this level of complexity by the recent switch to xs:ID as the type.


    Since I believe all the substitution syntax involves one or more characters not allowed in xs:ID (was it '#'  ?),  it effectively cannot be left for substitution.


    Perhaps it would be better to more clearly and simply state this isn't allowed though.

    ------------------------------------------------------
    Scott Kurz
    WebSphere Batch / Compute Grid Development
    T/L 295-5649;
    External Phone
    845-435-5649
    " target="_blank">
    --------------------------------------------------------


    Inactive hide details for Cheng Fang ---03/25/2013 03:40:30 PM---The spec says " Job XML supports substitution as part of any aCheng Fang ---03/25/2013 03:40:30 PM---The spec says " Job XML supports substitution as part of any attribute value."

    From:
    Cheng Fang < " target="_blank"> >
    To:
    " target="_blank"> ,
    Date:
    03/25/2013 03:40 PM
    Subject:
    [jsr352-public] any attribute can be substituted?





    The spec says "

    Job XML supports substitution as part of any attribute value." 

    So it means job id, step id, property name, etc can all be substituted, for example, 

    <job id="#{systemProperties['job.id']}"... 

    <property name="#{systemProperties['prop.name']}" value="foo"/> 

    <step id="#{systemProperties['step.id']}" 

    <listener ref="#{systemProperties['listener.ref']}"/> 

    Are these all required to be supported?  If so, do we plan to cover all such substitutions in TCK?

    Thanks,
    Cheng
     



Attachment: graycol.gif
Description: GIF image



[jsr352-public] any attribute can be substituted?

Cheng Fang 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Scott Kurz 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Michael Minella 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Scott Kurz 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Michael Minella 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Christopher Vignola 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Michael Minella 03/27/2013

[jsr352-public] Re: any attribute can be substituted?

Christopher Vignola 03/28/2013

[jsr352-public] Re: any attribute can be substituted?

Christopher Vignola 03/25/2013

[jsr352-public] Re: any attribute can be substituted?

Christopher Vignola 03/25/2013
 
 
Close
loading
Please Confirm
Close