mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-31 21:05:16 +00:00
Backport #39930 by @lunny Pages showing commit statuses loaded the repository of every status separately, so a PR with ~75 statuses ran ~75 identical repository queries per merge box render (about 3.4s in a production trace). `statusRepoCanReadActions` only loaded the repository inside the permission cache loader, which never runs once `RepoAssignment` has published the permission. - `CommitStatus.loadRepository` resolves through the request context cache - `statusRepoCanReadActions` loads the repository before the permission lookup - `RepoAssignment` publishes its repository to the context cache next to the permission - `GetCommitActionsStatusMap` drops its own repository map Queries per request with 50 statuses (45 Actions, 5 external) on the head commit, SQLite: | Page | Repository queries | Total queries | |---|---|---| | PR view | 61 → 11 | 157 → 107 | | Commit | 6 → 5 | 24 → 23 | | Branches | 6 → 5 | 33 → 32 | | Commits | 6 → 5 | 23 → 22 | | Repo home | 8 → 7 | 35 → 34 | | `/pulls` | 15 → 15 | 37 → 37 | Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: silverwind <me@silverwind.io>
14 lines
362 B
Go
14 lines
362 B
Go
// Copyright 2025 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package cachegroup
|
|
|
|
const (
|
|
User = "user"
|
|
EmailAvatarLink = "email_avatar_link"
|
|
UserEmailAddresses = "user_email_addresses"
|
|
GPGKeyWithSubKeys = "gpg_key_with_subkeys"
|
|
Repository = "repository"
|
|
RepoUserPermission = "repo_user_permission"
|
|
)
|