Fix t3c non-topo edge-origin DS params #7043
Merged
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.
Fixes cache config generation for non-topology DSes that are edge->origin (via the edge's cachegroup's parent being the origin cachegroup) for DS Parameters.
Due to a bug in the non-topology logic to determine if a cache is the last cache tier, that scenario was resulting in the config gen thinking the edge wasn't the last tier, and not inserting MSO retry parameters on the parent line.
Fixing that bug exposed another bug, in the
unavailableServerRetryResponsesValid
regex. I changed that function to simply callParseRetryResponses
and return whether there was an error. Actually parsing is probably faster than the regex anyway, and this is the safest way to prevent bugs and discrepancies in the parse vs can-parse functions.This also fixes several tests around both of those bugs, which were testing the wrong things. It fixes both the retry parameter tests, which were accidentally testing that the last tier had the first tier params, and a remap.config test that was testing edge->origin http/https rewriting as if it were edge->mid.
Which Traffic Control components are affected by this PR?
t3c
, formerly ORT)What is the best way to verify this PR?
Run tests. Generate config for a non-topology DS which is edge->origin and has DS retry parameters, verify retry parameters are inserted into parent.config correctly.
If this is a bugfix, which Traffic Control versions contained the bug?
PR submission checklist
[x] This PR has documentationno docs, no interface change