diff options
author | Luca Milanesio <luca.milanesio@gmail.com> | 2021-10-14 08:15:02 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-10-14 08:15:02 +0000 |
commit | 220d9cf6be1a7498d1bee670ef63911f15c47fbf (patch) | |
tree | fc649d2e1c502b2bd56ca7c459151e59823052c5 | |
parent | ae5a943a861cc6ee14d6ab10e9c87c3ddbae4a60 (diff) | |
parent | 7b131cdbafdb80fd3dc68c6f3aa12a9d711cc9e3 (diff) |
Merge "Reuse the already opened Repository for refs filtering" into stable-3.3
-rw-r--r-- | java/com/google/gerrit/server/permissions/DefaultRefFilter.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/java/com/google/gerrit/server/permissions/DefaultRefFilter.java b/java/com/google/gerrit/server/permissions/DefaultRefFilter.java index eca30b60c8..03d3b63c74 100644 --- a/java/com/google/gerrit/server/permissions/DefaultRefFilter.java +++ b/java/com/google/gerrit/server/permissions/DefaultRefFilter.java @@ -142,7 +142,7 @@ class DefaultRefFilter { return ImmutableList.of(); } if (RefNames.isRefsChanges(refName)) { - boolean isChangeRefVisisble = canSeeSingleChangeRef(refName); + boolean isChangeRefVisisble = canSeeSingleChangeRef(repo, refName); if (isChangeRefVisisble) { logger.atFinest().log("Change ref %s is visible", refName); return refs; @@ -466,7 +466,8 @@ class DefaultRefFilter { * with refs-in-wants is used as that enables Gerrit to skip traditional advertisement of all * visible refs. */ - private boolean canSeeSingleChangeRef(String refName) throws PermissionBackendException { + private boolean canSeeSingleChangeRef(Repository repo, String refName) + throws PermissionBackendException { // We are treating just a single change ref. We are therefore not going through regular ref // filtering, but use NoteDb directly. This makes it so that we can always serve this ref // even if the change is not part of the set of most recent changes that @@ -480,7 +481,7 @@ class DefaultRefFilter { } ChangeNotes notes; try { - notes = changeNotesFactory.create(projectState.getNameKey(), cId); + notes = changeNotesFactory.create(repo, projectState.getNameKey(), cId); } catch (StorageException e) { throw new PermissionBackendException("can't construct change notes", e); } |