fix(dbless): nest duplicate entity primary key errors for children #12797
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.
summary
This makes a change to the shape/structure of dbless errors. Before this change, an upstream with duplicate targets would yield a response like this:
This is bad because the error-flattening code cannot associate this error with the input. The linkage between the upstream->target from the input has been lost.
After this change, the errors are nested under the parent upstream:
As a result, the error can now be properly mapped to the input target (
$input.upstreams[2].targets[2]
), soPOST /config?flatten_errors=1
returns a helpful result, including the [generated] target ID and the upstream ID:Checklist
changelog/unreleased/kong
Issue reference
KAG-4144