Revert "ListProjectImpl: Delegate to QueryProjects if match is used"
This change had a bad impact on the performance for listing projects
with a match substring when Lucene is used as the index backend, see
issue 307592546
This reverts commit e9edc9fceff535b406e511ac413e90caf4c1b888.
Release-Notes: Fix performance issue when listing project with match substring
Change-Id: Ic85e5a11dff9a1c91c59519cd314be968545b0d7
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/java/com/google/gerrit/server/restapi/project/ListProjectsImpl.java b/java/com/google/gerrit/server/restapi/project/ListProjectsImpl.java
index 88aec1a..33f0b58 100644
--- a/java/com/google/gerrit/server/restapi/project/ListProjectsImpl.java
+++ b/java/com/google/gerrit/server/restapi/project/ListProjectsImpl.java
@@ -266,6 +266,8 @@
.getSchema()
.hasField(ProjectField.PREFIX_NAME_SPEC))
&& isNullOrEmpty(matchRegex)
+ && isNullOrEmpty(
+ matchSubstring) // TODO: see https://issues.gerritcodereview.com/issues/40010295
&& type == FilterType.ALL
&& showBranch.isEmpty()
&& !showTree
diff --git a/javatests/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java b/javatests/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java
index 1df3f3e..de9b579 100644
--- a/javatests/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java
+++ b/javatests/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java
@@ -287,18 +287,7 @@
}
@Test
- @GerritConfig(name = "gerrit.listProjectsFromIndex", value = "true")
- public void listProjectsWithSubstring_indexEnabled() throws Exception {
- testListProjectsWithSubstring();
- }
-
- @Test
- @GerritConfig(name = "gerrit.listProjectsFromIndex", value = "false")
- public void listProjectsWithSubstring_indexDisabled() throws Exception {
- testListProjectsWithSubstring();
- }
-
- private void testListProjectsWithSubstring() throws Exception {
+ public void listProjectsWithSubstring() throws Exception {
Project.NameKey someProject = projectOperations.newProject().name("some-project").create();
Project.NameKey someOtherProject =
projectOperations.newProject().name("some-other-project").create();