-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.01_CSD03
-
Fix Version/s: V4.01_CS01
-
Component/s: JSON Format, Protocol
-
Labels:None
-
Environment:
Applied
-
Proposal:
-
Resolution:
The JSON Format specifcation states in http://docs.oasis-open.org/odata/odata-json-format/v4.01/csprd03/odata-json-format-v4.01-csprd03.html#sec_ProcessingaBatchRequest that
The service MAY process the individual requests and atomicity groups within a batch request in any order that is compatible with the dependencies expressed with the dependsOn name/value pair. Processing stops on the first error unless the continue-on-error preference is specified.
This makes batch processing somewhat non-deterministic.
Also it is not clear what "stop processing" means:
- If the service chose to process independent groups of requests in parallel, will only groups stop that contain a failing individual request?
- What is contained in the array of responses for "skipped"/"unprocessed" individual requests?
Do we need continue-on-error at all for JSON Batch requests?
If yes: does it only apply to subsequent requests within "dependency chains"?
Or do we intentionally leave this up to the service implementation and thus non-deterministic?