Bug 5379

Summary: TCK ExecutionTests.testInvokeJobChunkWithFullAttributes challenge: SB wants to fail JSL
Product: jbatch Reporter: ScottKurz
Component: SPECAssignee: ScottKurz
Severity: normal CC: issues, mminella
Priority: P5    
Version: 1   
Target Milestone: ---   
Hardware: All   
OS: All   

Description ScottKurz 2013-09-10 17:57:58 UTC
As discussed in ML subject "TCK ExecutionTests.testInvokeJobChunkWithFullAttributes", the SB impl wants to fail this JSL invalid.

I view this as deserving of a warning message at most, but respect that point.

If no one else has a strong opinion (e.g. a strong opinion that this JSL should not be invalidated and should be allowed to run on any JSR 352 implementation), I'd move to just exclude this test from the TCK, since it's not adding much value to the remaining tests.

Marking this as SPEC since it's conceivable something could be said in the spec, though it might be addressable just in the TCK.
Comment 1 mminella 2013-09-16 17:34:34 UTC
Per the spec (section 13.1):

The batch runtime must perform schema validation during JobOperator start processing before the start method returns to the caller. A schema validation error results in JobStartException. The implementation has two choices for handling semantic errors in the JSL:

    1. Do semantic validation during JobOperator start processing before returning to the caller. If there is a semantic validation error, the implementation must throw JobStartException.
    2. Do semantic validation after job execution begins. If a semantic validation error occurs, the implementation must end the job in the FAILED state. The implementation is advised to log sufficient error information to enable problem resolution.

Spring Batch chooses option 1.  It sounds like the RI and TCK expect option 2.
Comment 2 ScottKurz 2013-09-16 17:41:42 UTC
Michael, for this particular JSL, the RI and TCK do not view this as a semantically invalid job.   It's not a matter of how we expect invalidation to be performed.

We can either:

1) address this in the spec, and get clear whether this is valid and should be no-op'd, or whether it is actually invalid.


2) Leave this open and exclude this test from the TCK.

I was leaning towards 2).
Comment 3 mminella 2013-10-28 18:54:00 UTC
I have no objection to option 2.
Comment 4 ScottKurz 2013-11-06 20:10:27 UTC
Resolved by excluding test from TCK