Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a Proof-of-Concept. I just needed to prove to myself that it's reasonable, it still needs the details worked out, docs, tests, etc. I'm making a Draft PR in case anyone else is interested in it.
It allows users to make a single atomic request, such as
And get a response, with each member of the batch executed with sequential consistency (that is, GETs may be executed in parallel, but everything will appear to have been executed sequentially, e.g. GET-POST-GET will have the POST changes in the second GET but not the first), like:
The main goal here is atomicity, not convenience. By allowing users to execute multiple requests atomically, we can make it safe to do things that aren't safe today. For example, changing a Delivery Service, changing it's Profile, and seven different Parameters, all at once. This doesn't completely solve the Snapshot-Queue Automation a.k.a. "Kill the Chicken" problem, but it addresses a large subset of it, in a much smaller feature than a complete solution.
It's unlikely I'll have time to finish this. But anyone else is welcome to fork and make a real PR from it.
Which Traffic Control components are affected by this PR?
What is the best way to verify this PR?
If this is a bugfix, which Traffic Control versions contained the bug?
PR submission checklist