Move batch user priority to a capability
Instead of using a magical group, use a special capability to denote users that should get the batch priority behavior. Change-Id: I3e1f8f3ee39f5dcb2cdad2f9c71c46db25fc30b6
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.git.QueueProvider;
|
||||
import com.google.gerrit.server.git.WorkQueue;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
@@ -33,12 +34,6 @@ class CommandExecutorProvider implements Provider<WorkQueue.Executor> {
|
||||
|
||||
@Override
|
||||
public WorkQueue.Executor get() {
|
||||
WorkQueue.Executor executor;
|
||||
if (user.isBatchUser()) {
|
||||
executor = queues.getBatchQueue();
|
||||
} else {
|
||||
executor = queues.getInteractiveQueue();
|
||||
}
|
||||
return executor;
|
||||
return queues.getQueue(user.getCapabilities().getQueueType());
|
||||
}
|
||||
}
|
||||
|
@@ -15,6 +15,7 @@
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.gerrit.server.config.GerritServerConfig;
|
||||
import com.google.gerrit.server.git.QueueProvider;
|
||||
import com.google.gerrit.server.git.WorkQueue;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
@@ -64,13 +65,13 @@ public class CommandExecutorQueueProvider implements QueueProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkQueue.Executor getInteractiveQueue() {
|
||||
return interactiveExecutor;
|
||||
public WorkQueue.Executor getQueue(QueueType type) {
|
||||
switch (type) {
|
||||
case INTERACTIVE:
|
||||
return interactiveExecutor;
|
||||
case BATCH:
|
||||
default:
|
||||
return batchExecutor;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkQueue.Executor getBatchQueue() {
|
||||
return batchExecutor;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,11 +0,0 @@
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.gerrit.server.git.WorkQueue;
|
||||
|
||||
public interface QueueProvider {
|
||||
|
||||
public WorkQueue.Executor getInteractiveQueue();
|
||||
|
||||
public WorkQueue.Executor getBatchQueue();
|
||||
|
||||
}
|
@@ -28,6 +28,7 @@ import com.google.gerrit.server.account.AccountManager;
|
||||
import com.google.gerrit.server.account.ChangeUserName;
|
||||
import com.google.gerrit.server.config.FactoryModule;
|
||||
import com.google.gerrit.server.config.GerritRequestModule;
|
||||
import com.google.gerrit.server.git.QueueProvider;
|
||||
import com.google.gerrit.server.git.WorkQueue;
|
||||
import com.google.gerrit.server.project.ProjectControl;
|
||||
import com.google.gerrit.server.ssh.SshInfo;
|
||||
|
Reference in New Issue
Block a user