Compute cascading tags server-side #3781
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.
Describe changes
When having a cached step, we were computing/updating the cascading tags from a pipeline run through the client. For a single tag and output artifact, this would send 4 requests:
This would happen for each cascading tag, and for each output artifact.
Just as a small example, for our stress test pipeline, which has 20 output artifacts and 10 cascading tags, this would be 800 requests for a single step.
With the new kubernetes orchestrator pod caching, this caching code is running in multiple threads. In my experiment, I was running with 30 threads, but this could be more. This caused an insane load on the server just for adding some tags.
This PR handles the same logic server-side, which reduces the amount of requests to 0.
Pre-requisites
Please ensure you have done the following:
develop
and the open PR is targetingdevelop
. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.Types of changes