Fix n+1 query in extension registry list endpoint.
Created by: efritz
This alert keeps flapping: https://sourcegraph.app.opsgenie.com/alert/detail/78d8cf4f-2394-4df0-98f7-de97a44ed1f2-1582579884047/details.
It may be because the extension registry list endpoint will perform a SELECT of all ~230 extensions and perform an additional multi-join SQL query for each one in sequence before constructing a response. This will select the extensions, then do a single SQL query to get the latest release (making the endpoint only make 2 SQL queries rather than >230).
Merge request reports
Activity
Created by: codecov[bot]
Codecov Report
Merging #8583 into master will decrease coverage by
0.01%
. The diff coverage is29.41%
.@@ Coverage Diff @@ ## master #8583 +/- ## ========================================== - Coverage 40.64% 40.62% -0.02% ========================================== Files 1305 1305 Lines 70032 70111 +79 Branches 6491 6491 ========================================== + Hits 28463 28486 +23 - Misses 38954 39004 +50 - Partials 2615 2621 +6
Impacted Files Coverage Δ ...erprise/cmd/frontend/internal/registry/http_api.go 5.55% <0%> (-0.57%)
.../internal/registry/extension_connection_graphql.go 58.44% <0%> (-2.37%)
...md/frontend/internal/registry/extension_graphql.go 1.96% <0%> (-0.48%)
...d/frontend/internal/registry/extension_manifest.go 35.29% <28.94%> (-20.59%)
...rise/cmd/frontend/internal/registry/releases_db.go 79.01% <70.58%> (-6.1%)
Created by: ryanslade
Oh, wow nice. I think you just fixed something that was on my list: https://gitlab.sgdev.org/root/sourcegraph/-/issues/7544