-
Proposal:
Show
Clients MUST specify a content-id header for each request within a changeset.
Servers MAY return responses within a changeset in any order.
Servers MUST include the content-id header in each response, so clients can correlate requests and responses.
Accepted: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/47764/latest/odata-meeting-19_on-20121220-minutes.html
-
Resolution:
Show
https://www.oasis-open.org/committees/download.php/48439/odata-core-v4.0-wd01-part1-protocol-2013-03-05-RH.doc
Accepted: https://www.oasis-open.org/committees/download.php/48549/odata-meeting-29_on-20130314-minutes.html#odata-157
The current $batch specification says that requests within a changeset need not be processed in the same order they are specified. For example, a service may re-order changes to reduce the likelihood of integrity violations by first doing deletes, then inserts, then updates. It goes on to say that the responses in a changeset must be 1:1 with the requests, but does not say they must be in the same order, and does not say how a client correlates a response within a changeset with a particular request within that changeset.
Changesets do describe the use of a content-id header for allowing a statement within a batch to reference the results of a previous statement within the batch. For example, to add an order to a customer that was added within the same batch. However, it does not say that it is mandatory for the client to specify the content-id header for requests within a batch, nor does it say that it is mandatory for a service to return content-id headers supplied within the batch.
It seems simplest to say that clients SHOULD specify a content-id header for requests within a changeset, and that service MUST return the content-id (if any) specified by the client. This allows the service to re-order changes within the changeset without having to buffer the response, and is arguably simpler for the client to correlate responses without having to rely on ordering.
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"3d8d8d81-144c-418b-974a-0cdacfd17f03","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":3059.5999999046326,"redirectCount":0,"resourceLoadedEnd":2875.3999996185303,"resourceLoadedStart":248.59999990463257,"resourceTiming":[{"duration":90.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":248.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":248.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":339.09999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":98.19999980926514,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":249.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":249.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":347.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":98.40000009536743,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":250.09999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":348.5,"responseStart":0,"secureConnectionStart":0},{"duration":99.30000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":250.39999961853027,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":349.69999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":99.2999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":250.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":349.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":1027.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":250.89999961853027,"connectEnd":1052.1999998092651,"connectStart":1003.5,"domainLookupEnd":1003.5,"domainLookupStart":1003.5,"fetchStart":250.89999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":1052.2999997138977,"responseEnd":1278.5999999046326,"responseStart":1087.1999998092651,"secureConnectionStart":1027.5999999046326},{"duration":2624,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":251.39999961853027,"connectEnd":1102,"connectStart":1053,"domainLookupEnd":1053,"domainLookupStart":1053,"fetchStart":251.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":1102.1999998092651,"responseEnd":2875.3999996185303,"responseStart":1134.3999996185303,"secureConnectionStart":1077.2999997138977},{"duration":1104.0999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":251.5,"connectEnd":1327.8999996185303,"connectStart":1278.3999996185303,"domainLookupEnd":1278.3999996185303,"domainLookupStart":1278.3999996185303,"fetchStart":251.5,"redirectEnd":0,"redirectStart":0,"requestStart":1328.2999997138977,"responseEnd":1355.5999999046326,"responseStart":1354.7999997138977,"secureConnectionStart":1302.8999996185303},{"duration":1180.3000001907349,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":251.69999980926514,"connectEnd":1404.5,"connectStart":1355.5999999046326,"domainLookupEnd":1355.5999999046326,"domainLookupStart":1355.5,"fetchStart":251.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":1404.5999999046326,"responseEnd":1432,"responseStart":1431,"secureConnectionStart":1379.6999998092651},{"duration":1255.7999997138977,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":252,"connectEnd":1480.5,"connectStart":1431.8999996185303,"domainLookupEnd":1431.8999996185303,"domainLookupStart":1431.8999996185303,"fetchStart":252,"redirectEnd":0,"redirectStart":0,"requestStart":1480.6999998092651,"responseEnd":1507.7999997138977,"responseStart":1506.7999997138977,"secureConnectionStart":1455.8999996185303},{"duration":1332.5999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":252.09999990463257,"connectEnd":1556.5999999046326,"connectStart":1507.5999999046326,"domainLookupEnd":1507.5999999046326,"domainLookupStart":1507.5999999046326,"fetchStart":252.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":1556.6999998092651,"responseEnd":1584.6999998092651,"responseStart":1583.6999998092651,"secureConnectionStart":1531.8999996185303},{"duration":103.80000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":252.19999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":252.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":356,"responseStart":0,"secureConnectionStart":0},{"duration":1408.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":252.39999961853027,"connectEnd":1633.2999997138977,"connectStart":1584.5999999046326,"domainLookupEnd":1584.5999999046326,"domainLookupStart":1584.5999999046326,"fetchStart":252.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":1633.3999996185303,"responseEnd":1660.7999997138977,"responseStart":1660.0999999046326,"secureConnectionStart":1608.6999998092651},{"duration":185.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":285.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":285.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":470.59999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":2082.300000190735,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":285.7999997138977,"connectEnd":2340.3999996185303,"connectStart":2291.7999997138977,"domainLookupEnd":2291.7999997138977,"domainLookupStart":2291.7999997138977,"fetchStart":285.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":2340.3999996185303,"responseEnd":2368.0999999046326,"responseStart":2367,"secureConnectionStart":2315.7999997138977},{"duration":2381.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":301.19999980926514,"connectEnd":2655,"connectStart":2606.5,"domainLookupEnd":2606.5,"domainLookupStart":2606.5,"fetchStart":301.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":2655.0999999046326,"responseEnd":2682.5999999046326,"responseStart":2680.2999997138977,"secureConnectionStart":2630.5},{"duration":2374.5999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":382.2999997138977,"connectEnd":2729.5999999046326,"connectStart":2681.199999809265,"domainLookupEnd":2681.199999809265,"domainLookupStart":2681.199999809265,"fetchStart":382.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":2729.699999809265,"responseEnd":2756.8999996185303,"responseStart":2755.5,"secureConnectionStart":2705.0999999046326},{"duration":1124.8000001907349,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":1403.3999996185303,"connectEnd":2499.2999997138977,"connectStart":2450.2999997138977,"domainLookupEnd":2450.2999997138977,"domainLookupStart":2450.2999997138977,"fetchStart":1403.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":2499.2999997138977,"responseEnd":2528.199999809265,"responseStart":2527.5999999046326,"secureConnectionStart":2474.699999809265}],"threshold":1000,"fetchStart":0,"domainLookupStart":27,"domainLookupEnd":80,"connectStart":80,"connectEnd":160,"secureConnectionStart":105,"requestStart":160,"responseStart":232,"responseEnd":382,"domLoading":238,"domInteractive":3117,"domContentLoadedEventStart":3117,"domContentLoadedEventEnd":3160,"domComplete":3799,"loadEventStart":3799,"loadEventEnd":3801,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"31320b2031bd21","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":197,"dbReadsTimeInMs":20,"dbConnsTimeInMs":27,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}