Merge branch 'stable-2.15'
* stable-2.15: CommandExecutorQueueProvider: Fix singleton binding ReviewerinPredicate: Only return users in state REVIEWER Remove documentation about cleaning the build cache AbstractQueryChangesTest#reviewerin: Expand to cover CC Change-Id: I8bc29e2635480ab975bc1a474b333f048bce4eae
This commit is contained in:
@@ -363,18 +363,6 @@ To consume the JGit dependency from the development tree, edit
|
||||
`lib/jgit/jgit.bzl` setting LOCAL_JGIT_REPO to a directory holding a
|
||||
JGit repository.
|
||||
|
||||
[[clean-download-cache]]
|
||||
=== Cleaning The download cache
|
||||
|
||||
The cache for downloaded artifacts is located in
|
||||
`~/.gerritcodereview/bazel-cache/downloaded-artifacts`.
|
||||
|
||||
If you really do need to clean the download cache manually, then:
|
||||
|
||||
----
|
||||
rm -rf ~/.gerritcodereview/bazel-cache/downloaded-artifacts
|
||||
----
|
||||
|
||||
[[local-action-cache]]
|
||||
|
||||
To accelerate builds, local action cache can be activated. Note, that this
|
||||
@@ -423,7 +411,6 @@ build --experimental_repository_cache=/home/<user>/.gerritcodereview/bazel-cache
|
||||
[NOTE] `experimental_repository_cache` must be absolute path. Expansion of `~` is
|
||||
unfortunately not supported yet. This is also the reason why we can't activate this
|
||||
feature by default yet (by adjusting tools/bazel.rc file).
|
||||
|
||||
GERRIT
|
||||
------
|
||||
Part of link:index.html[Gerrit Code Review]
|
||||
|
@@ -15,7 +15,6 @@
|
||||
package com.google.gerrit.pgm.http.jetty;
|
||||
|
||||
import static com.google.gerrit.server.config.ConfigUtil.getTimeUnit;
|
||||
import static com.google.inject.Scopes.SINGLETON;
|
||||
import static java.util.concurrent.TimeUnit.MINUTES;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE;
|
||||
|
||||
@@ -74,7 +73,7 @@ public class ProjectQoSFilter implements Filter {
|
||||
public static class Module extends ServletModule {
|
||||
@Override
|
||||
protected void configureServlets() {
|
||||
bind(QueueProvider.class).to(CommandExecutorQueueProvider.class).in(SINGLETON);
|
||||
bind(QueueProvider.class).to(CommandExecutorQueueProvider.class);
|
||||
filterRegex(FILTER_RE).through(ProjectQoSFilter.class);
|
||||
}
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@ import com.google.gerrit.index.query.PostFilterPredicate;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountGroup;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.notedb.ReviewerStateInternal;
|
||||
import com.google.gwtorm.server.OrmException;
|
||||
|
||||
public class ReviewerinPredicate extends PostFilterPredicate<ChangeData> {
|
||||
@@ -36,7 +37,7 @@ public class ReviewerinPredicate extends PostFilterPredicate<ChangeData> {
|
||||
|
||||
@Override
|
||||
public boolean match(ChangeData object) throws OrmException {
|
||||
for (Account.Id accountId : object.reviewers().all()) {
|
||||
for (Account.Id accountId : object.reviewers().byState(ReviewerStateInternal.REVIEWER)) {
|
||||
IdentifiedUser reviewer = userFactory.create(accountId);
|
||||
if (reviewer.getEffectiveGroups().contains(uuid)) {
|
||||
return true;
|
||||
|
@@ -19,9 +19,11 @@ import com.google.gerrit.server.config.ThreadSettingsConfig;
|
||||
import com.google.gerrit.server.git.QueueProvider;
|
||||
import com.google.gerrit.server.git.WorkQueue;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||
import org.eclipse.jgit.lib.Config;
|
||||
|
||||
@Singleton
|
||||
public class CommandExecutorQueueProvider implements QueueProvider {
|
||||
|
||||
private int poolSize;
|
||||
|
@@ -89,7 +89,7 @@ public class SshModule extends LifecycleModule {
|
||||
.annotatedWith(StreamCommandExecutor.class)
|
||||
.toProvider(StreamCommandExecutorProvider.class)
|
||||
.in(SINGLETON);
|
||||
bind(QueueProvider.class).to(CommandExecutorQueueProvider.class).in(SINGLETON);
|
||||
bind(QueueProvider.class).to(CommandExecutorQueueProvider.class);
|
||||
|
||||
bind(GSSAuthenticator.class).to(GerritGSSAuthenticator.class);
|
||||
bind(PublickeyAuthenticator.class).to(CachingPublicKeyAuthenticator.class);
|
||||
|
@@ -1961,11 +1961,12 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
|
||||
public void reviewerin() throws Exception {
|
||||
Account.Id user1 = accountManager.authenticate(AuthRequest.forUser("user1")).getAccountId();
|
||||
Account.Id user2 = accountManager.authenticate(AuthRequest.forUser("user2")).getAccountId();
|
||||
Account.Id user3 = accountManager.authenticate(AuthRequest.forUser("user3")).getAccountId();
|
||||
TestRepository<Repo> repo = createProject("repo");
|
||||
|
||||
Change change1 = insert(repo, newChange(repo));
|
||||
Change change2 = insert(repo, newChange(repo));
|
||||
insert(repo, newChange(repo));
|
||||
Change change3 = insert(repo, newChange(repo));
|
||||
|
||||
AddReviewerInput rin = new AddReviewerInput();
|
||||
rin.reviewer = user1.toString();
|
||||
@@ -1977,8 +1978,13 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
|
||||
rin.state = ReviewerState.REVIEWER;
|
||||
gApi.changes().id(change2.getId().get()).addReviewer(rin);
|
||||
|
||||
rin = new AddReviewerInput();
|
||||
rin.reviewer = user3.toString();
|
||||
rin.state = ReviewerState.CC;
|
||||
gApi.changes().id(change3.getId().get()).addReviewer(rin);
|
||||
|
||||
String group = gApi.groups().create("foo").get().name;
|
||||
gApi.groups().id(group).addMembers(user2.toString());
|
||||
gApi.groups().id(group).addMembers(user2.toString(), user3.toString());
|
||||
|
||||
List<String> members =
|
||||
gApi.groups()
|
||||
@@ -1989,15 +1995,30 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests {
|
||||
.collect(toList());
|
||||
assertThat(members).contains(user2.toString());
|
||||
|
||||
assertQuery("reviewerin:\"Registered Users\"", change2, change1);
|
||||
assertQuery("reviewerin:" + group, change2);
|
||||
if (notesMigration.readChanges()) {
|
||||
// CC and REVIEWER are separate in NoteDB
|
||||
assertQuery("reviewerin:\"Registered Users\"", change2, change1);
|
||||
assertQuery("reviewerin:" + group, change2);
|
||||
} else {
|
||||
// CC and REVIEWER are the same in ReviewDb
|
||||
assertQuery("reviewerin:\"Registered Users\"", change3, change2, change1);
|
||||
assertQuery("reviewerin:" + group, change3, change2);
|
||||
}
|
||||
|
||||
gApi.changes().id(change2.getId().get()).current().review(ReviewInput.approve());
|
||||
gApi.changes().id(change2.getId().get()).current().submit();
|
||||
|
||||
assertQuery("reviewerin:" + group, change2);
|
||||
assertQuery("project:repo reviewerin:" + group, change2);
|
||||
assertQuery("status:merged reviewerin:" + group, change2);
|
||||
if (notesMigration.readChanges()) {
|
||||
// CC and REVIEWER are separate in NoteDB
|
||||
assertQuery("reviewerin:" + group, change2);
|
||||
assertQuery("project:repo reviewerin:" + group, change2);
|
||||
assertQuery("status:merged reviewerin:" + group, change2);
|
||||
} else {
|
||||
// CC and REVIEWER are the same in ReviewDb
|
||||
assertQuery("reviewerin:" + group, change2, change3);
|
||||
assertQuery("project:repo reviewerin:" + group, change2, change3);
|
||||
assertQuery("status:merged reviewerin:" + group, change2);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user