Pre-compute the latest version of each artifact #1438
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 #1429
When loading the project page, we need to compute the latest version of each of its artifacts. To do so, we used to sending an SQL JOIN request of the
artifacts
table on itself. This request was too frequent and too expensive, and it caused the recent downtimes of Scaladex.Here we pre-compute the
is_latest_version
of each artifact: each time a new artifact is added, we get all the artifacts with the same ID, we compute the max version, and flag it withis_latest_version
. Now the SQL request to get the latest version of each artifact of a project is a simple SELECT.