Merge branch 'stable-2.16'
* stable-2.16:
Upgrade wiremock to 2.22.0
Upgrade mockito-core to 2.25.1
Change-Id: I683a4439f6304ecd42b14460bcf3dddaa342f833
diff --git a/WORKSPACE b/WORKSPACE
index f4ba4a3..489f687 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,27 +3,27 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "5c1e201c6835e56a69a980c72206431e2a9d7d80",
+ commit = "738ddb525810a50c792736d7115a1bb5289bd3d3",
#local_path = "/home/<user>/projects/bazlets",
)
# Snapshot Plugin API
-#load(
-# "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
-# "gerrit_api_maven_local",
-#)
-
-# Load snapshot Plugin API
-#gerrit_api_maven_local()
-
-# Release Plugin API
load(
- "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
- "gerrit_api",
+ "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
+ "gerrit_api_maven_local",
)
+# Load snapshot Plugin API
+gerrit_api_maven_local()
+
+# Release Plugin API
+#load(
+# "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
+# "gerrit_api",
+#)
+
# Load release Plugin API
-gerrit_api()
+#gerrit_api()
load("//:external_plugin_deps.bzl", "external_plugin_deps")
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java
index da52555..e52f37e 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java
@@ -18,7 +18,6 @@
import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation;
import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet;
import com.google.gerrit.reviewdb.client.Account;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.account.AccountState;
import com.google.gerrit.server.account.Accounts;
import com.google.gerrit.server.util.OneOffRequestContext;
@@ -49,12 +48,12 @@
}
@Override
- protected Iterable<AccountState> fetchItems(ReviewDb db) throws Exception {
+ protected Iterable<AccountState> fetchItems() throws Exception {
return accounts.all();
}
@Override
- protected Optional<Timestamp> indexIfNeeded(ReviewDb db, AccountState as, Timestamp sinceTs) {
+ protected Optional<Timestamp> indexIfNeeded(AccountState as, Timestamp sinceTs) {
try {
Account a = as.getAccount();
Timestamp accountTs = a.getRegisteredOn();
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java
index 1f5b56e..f2ea538 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java
@@ -20,7 +20,6 @@
import com.google.common.collect.Streams;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.notedb.ChangeNotes.Factory.ChangeNotesResult;
@@ -78,14 +77,14 @@
}
@Override
- protected Iterable<Change> fetchItems(ReviewDb db) throws Exception {
+ protected Iterable<Change> fetchItems() throws Exception {
Stream<Change> allChangesStream = Stream.empty();
Iterable<Project.NameKey> projects = projectCache.all();
for (Project.NameKey projectName : projects) {
try (Repository repo = repoManager.openRepository(projectName)) {
Stream<Change> projectChangesStream =
notesFactory
- .scan(repo, db, projectName)
+ .scan(repo, projectName)
.map((ChangeNotesResult changeNotes) -> changeNotes.notes().getChange());
allChangesStream = Streams.concat(allChangesStream, projectChangesStream);
}
@@ -94,7 +93,7 @@
}
@Override
- protected Optional<Timestamp> indexIfNeeded(ReviewDb db, Change c, Timestamp sinceTs) {
+ protected Optional<Timestamp> indexIfNeeded(Change c, Timestamp sinceTs) {
try {
Timestamp changeTs = c.getLastUpdatedOn();
if (changeTs.after(sinceTs)) {
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java
index 71a0280..e37234c 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/GroupReindexRunnable.java
@@ -16,7 +16,6 @@
import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet;
import com.google.gerrit.common.data.GroupReference;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.group.db.Groups;
import com.google.gerrit.server.util.OneOffRequestContext;
import com.google.inject.Inject;
@@ -34,12 +33,12 @@
}
@Override
- protected Iterable<GroupReference> fetchItems(ReviewDb db) throws Exception {
+ protected Iterable<GroupReference> fetchItems() throws Exception {
return groups.getAllGroupReferences()::iterator;
}
@Override
- protected Optional<Timestamp> indexIfNeeded(ReviewDb db, GroupReference g, Timestamp sinceTs) {
+ protected Optional<Timestamp> indexIfNeeded(GroupReference g, Timestamp sinceTs) {
return Optional.empty();
}
}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/IndexTs.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/IndexTs.java
index b36c309..cacfc85 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/IndexTs.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/IndexTs.java
@@ -21,11 +21,9 @@
import com.google.gerrit.extensions.events.ChangeIndexedListener;
import com.google.gerrit.extensions.events.GroupIndexedListener;
import com.google.gerrit.extensions.events.ProjectIndexedListener;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.change.ChangeFinder;
import com.google.gerrit.server.git.WorkQueue;
import com.google.gerrit.server.notedb.ChangeNotes;
-import com.google.gwtorm.server.SchemaFactory;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.io.IOException;
@@ -51,7 +49,6 @@
private final Path dataDir;
private final ScheduledExecutorService exec;
private final FlusherRunner flusher;
- private final SchemaFactory<ReviewDb> schemaFactory;
private final ChangeFinder changeFinder;
private volatile LocalDateTime changeTs;
@@ -83,15 +80,10 @@
}
@Inject
- public IndexTs(
- @PluginData Path dataDir,
- WorkQueue queue,
- SchemaFactory<ReviewDb> schemaFactory,
- ChangeFinder changeFinder) {
+ public IndexTs(@PluginData Path dataDir, WorkQueue queue, ChangeFinder changeFinder) {
this.dataDir = dataDir;
this.exec = queue.getDefaultQueue();
this.flusher = new FlusherRunner();
- this.schemaFactory = schemaFactory;
this.changeFinder = changeFinder;
}
@@ -112,7 +104,7 @@
@Override
public void onChangeIndexed(String projectName, int id) {
- try (ReviewDb db = schemaFactory.open()) {
+ try {
ChangeNotes changeNotes = changeFinder.findOne(projectName + "~" + id);
update(
IndexName.CHANGE,
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java
index 582227d..ff5a965 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java
@@ -16,7 +16,6 @@
import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.util.OneOffRequestContext;
import com.google.inject.Inject;
@@ -35,12 +34,12 @@
}
@Override
- protected Iterable<Project.NameKey> fetchItems(ReviewDb db) {
+ protected Iterable<Project.NameKey> fetchItems() {
return projectCache.all();
}
@Override
- protected Optional<Timestamp> indexIfNeeded(ReviewDb db, Project.NameKey g, Timestamp sinceTs) {
+ protected Optional<Timestamp> indexIfNeeded(Project.NameKey g, Timestamp sinceTs) {
return Optional.empty();
}
}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ReindexRunnable.java
index df3a0fd..3e6c294 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ReindexRunnable.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ReindexRunnable.java
@@ -16,7 +16,6 @@
import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet;
import com.google.common.base.Stopwatch;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.util.ManualRequestContext;
import com.google.gerrit.server.util.OneOffRequestContext;
import com.google.inject.Inject;
@@ -50,14 +49,13 @@
if (maybeIndexTs.isPresent()) {
newLastIndexTs = maxTimestamp(newLastIndexTs, Timestamp.valueOf(maybeIndexTs.get()));
log.debug("Scanning for all the {}s after {}", itemNameString, newLastIndexTs);
- try (ManualRequestContext mctx = ctx.open();
- ReviewDb db = mctx.getReviewDbProvider().get()) {
+ try (ManualRequestContext mctx = ctx.open()) {
int count = 0;
int errors = 0;
Stopwatch stopwatch = Stopwatch.createStarted();
- for (T c : fetchItems(db)) {
+ for (T c : fetchItems()) {
try {
- Optional<Timestamp> itemTs = indexIfNeeded(db, c, newLastIndexTs);
+ Optional<Timestamp> itemTs = indexIfNeeded(c, newLastIndexTs);
if (itemTs.isPresent()) {
count++;
newLastIndexTs = maxTimestamp(newLastIndexTs, itemTs.get());
@@ -103,7 +101,7 @@
return ts2;
}
- protected abstract Iterable<T> fetchItems(ReviewDb db) throws Exception;
+ protected abstract Iterable<T> fetchItems() throws Exception;
- protected abstract Optional<Timestamp> indexIfNeeded(ReviewDb db, T item, Timestamp sinceTs);
+ protected abstract Optional<Timestamp> indexIfNeeded(T item, Timestamp sinceTs);
}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBroker.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBroker.java
index 3d9fd60..f156da4 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBroker.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBroker.java
@@ -14,7 +14,6 @@
package com.ericsson.gerrit.plugins.highavailability.forwarder;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.events.Event;
import com.google.gerrit.server.events.EventBroker;
import com.google.gerrit.server.events.EventListener;
@@ -24,7 +23,6 @@
import com.google.gerrit.server.plugincontext.PluginSetContext;
import com.google.gerrit.server.project.ProjectCache;
import com.google.inject.Inject;
-import com.google.inject.Provider;
class ForwardedAwareEventBroker extends EventBroker {
@@ -34,15 +32,8 @@
PluginSetContext<EventListener> unrestrictedListeners,
PermissionBackend permissionBackend,
ProjectCache projectCache,
- Factory notesFactory,
- Provider<ReviewDb> dbProvider) {
- super(
- listeners,
- unrestrictedListeners,
- permissionBackend,
- projectCache,
- notesFactory,
- dbProvider);
+ Factory notesFactory) {
+ super(listeners, unrestrictedListeners, permissionBackend, projectCache, notesFactory);
}
@Override
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
index d34959c..4704ec4 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
@@ -18,11 +18,9 @@
import com.ericsson.gerrit.plugins.highavailability.Configuration.Index;
import com.ericsson.gerrit.plugins.highavailability.index.ChangeChecker;
import com.ericsson.gerrit.plugins.highavailability.index.ChangeCheckerImpl;
-import com.ericsson.gerrit.plugins.highavailability.index.ChangeDb;
import com.ericsson.gerrit.plugins.highavailability.index.ForwardedIndexExecutor;
import com.google.common.base.Splitter;
import com.google.gerrit.reviewdb.client.Change;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.index.change.ChangeIndexer;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.project.NoSuchChangeException;
@@ -45,7 +43,6 @@
@Singleton
public class ForwardedIndexChangeHandler extends ForwardedIndexingHandler<String> {
private final ChangeIndexer indexer;
- private final ChangeDb changeDb;
private final ScheduledExecutorService indexExecutor;
private final OneOffRequestContext oneOffCtx;
private final int retryInterval;
@@ -55,14 +52,12 @@
@Inject
ForwardedIndexChangeHandler(
ChangeIndexer indexer,
- ChangeDb changeDb,
Configuration config,
@ForwardedIndexExecutor ScheduledExecutorService indexExecutor,
OneOffRequestContext oneOffCtx,
ChangeCheckerImpl.Factory changeCheckerFactory) {
super(config.index());
this.indexer = indexer;
- this.changeDb = changeDb;
this.indexExecutor = indexExecutor;
this.oneOffCtx = oneOffCtx;
this.changeCheckerFactory = changeCheckerFactory;
@@ -120,10 +115,8 @@
}
private void reindex(ChangeNotes notes) throws IOException, OrmException {
- try (ReviewDb db = changeDb.open()) {
- notes.reload();
- indexer.index(db, notes.getChange());
- }
+ notes.reload();
+ indexer.index(notes.getChange());
}
private void rescheduleIndex(String id, Optional<IndexEvent> indexEvent, int retryCount) {
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
index 75f3086..685a7fa 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
@@ -17,7 +17,6 @@
import com.ericsson.gerrit.plugins.highavailability.forwarder.IndexEvent;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Comment;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.CommentsUtil;
import com.google.gerrit.server.change.ChangeFinder;
import com.google.gerrit.server.git.GitRepositoryManager;
@@ -40,7 +39,6 @@
private static final Logger log = LoggerFactory.getLogger(ChangeCheckerImpl.class);
private final GitRepositoryManager gitRepoMgr;
private final CommentsUtil commentsUtil;
- private final ChangeDb changeDb;
private final OneOffRequestContext oneOffReqCtx;
private final String changeId;
private final ChangeFinder changeFinder;
@@ -55,20 +53,18 @@
public ChangeCheckerImpl(
GitRepositoryManager gitRepoMgr,
CommentsUtil commentsUtil,
- ChangeDb changeDb,
ChangeFinder changeFinder,
OneOffRequestContext oneOffReqCtx,
@Assisted String changeId) {
this.changeFinder = changeFinder;
this.gitRepoMgr = gitRepoMgr;
this.commentsUtil = commentsUtil;
- this.changeDb = changeDb;
this.oneOffReqCtx = oneOffReqCtx;
this.changeId = changeId;
}
@Override
- public Optional<IndexEvent> newIndexEvent() throws IOException, OrmException {
+ public Optional<IndexEvent> newIndexEvent() throws OrmException {
return getComputedChangeTs()
.map(
ts -> {
@@ -88,8 +84,7 @@
}
@Override
- public boolean isChangeUpToDate(Optional<IndexEvent> indexEvent)
- throws IOException, OrmException {
+ public boolean isChangeUpToDate(Optional<IndexEvent> indexEvent) throws OrmException {
getComputedChangeTs();
log.debug("Checking change {} against index event {}", this, indexEvent);
if (!computedChangeTs.isPresent()) {
@@ -111,7 +106,7 @@
}
@Override
- public Optional<Long> getComputedChangeTs() throws IOException, OrmException {
+ public Optional<Long> getComputedChangeTs() throws OrmException {
if (!computedChangeTs.isPresent()) {
computedChangeTs = computeLastChangeTs();
}
@@ -127,7 +122,7 @@
+ getComputedChangeTs().map(IndexEvent::format)
+ "/"
+ getBranchTargetSha();
- } catch (IOException | OrmException e) {
+ } catch (OrmException e) {
log.error("Unable to render change {}", changeId, e);
return "change-id=" + changeId;
}
@@ -149,16 +144,14 @@
}
private Optional<Long> computeLastChangeTs() throws OrmException {
- try (ReviewDb db = changeDb.open()) {
- return getChangeNotes().map(notes -> getTsFromChangeAndDraftComments(db, notes));
- }
+ return getChangeNotes().map(this::getTsFromChangeAndDraftComments);
}
- private long getTsFromChangeAndDraftComments(ReviewDb db, ChangeNotes notes) {
+ private long getTsFromChangeAndDraftComments(ChangeNotes notes) {
Change change = notes.getChange();
Timestamp changeTs = change.getLastUpdatedOn();
try {
- for (Comment comment : commentsUtil.draftByChange(db, changeNotes.get())) {
+ for (Comment comment : commentsUtil.draftByChange(changeNotes.get())) {
Timestamp commentTs = comment.writtenOn;
changeTs = commentTs.after(changeTs) ? commentTs : changeTs;
}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeDb.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeDb.java
deleted file mode 100644
index bef5363..0000000
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeDb.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2018 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.ericsson.gerrit.plugins.highavailability.index;
-
-import com.google.gerrit.reviewdb.server.ReviewDb;
-import com.google.gerrit.server.notedb.NotesMigration;
-import com.google.gwtorm.server.OrmException;
-import com.google.gwtorm.server.SchemaFactory;
-import com.google.inject.Inject;
-
-public class ChangeDb {
- private static final DisabledReviewDb disabledReviewDb = new DisabledReviewDb();
-
- private final NotesMigration migration;
- private final SchemaFactory<ReviewDb> schemaFactory;
-
- @Inject
- public ChangeDb(NotesMigration migration, SchemaFactory<ReviewDb> schemaFactory) {
- this.migration = migration;
- this.schemaFactory = schemaFactory;
- }
-
- public ReviewDb open() throws OrmException {
- return migration.readChanges() ? disabledReviewDb : schemaFactory.open();
- }
-}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/DisabledReviewDb.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/DisabledReviewDb.java
deleted file mode 100644
index 25ec6e8..0000000
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/DisabledReviewDb.java
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (C) 2018 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.ericsson.gerrit.plugins.highavailability.index;
-
-import com.google.common.util.concurrent.CheckedFuture;
-import com.google.gerrit.reviewdb.client.Change;
-import com.google.gerrit.reviewdb.client.Change.Id;
-import com.google.gerrit.reviewdb.server.ChangeAccess;
-import com.google.gerrit.reviewdb.server.ChangeMessageAccess;
-import com.google.gerrit.reviewdb.server.PatchLineCommentAccess;
-import com.google.gerrit.reviewdb.server.PatchSetAccess;
-import com.google.gerrit.reviewdb.server.PatchSetApprovalAccess;
-import com.google.gerrit.reviewdb.server.ReviewDb;
-import com.google.gerrit.reviewdb.server.SchemaVersionAccess;
-import com.google.gwtorm.server.Access;
-import com.google.gwtorm.server.AtomicUpdate;
-import com.google.gwtorm.server.OrmException;
-import com.google.gwtorm.server.ResultSet;
-import com.google.gwtorm.server.StatementExecutor;
-import java.util.Map;
-
-/** ReviewDb that is disabled. */
-@SuppressWarnings("deprecation")
-public class DisabledReviewDb implements ReviewDb {
- public static class Disabled extends RuntimeException {
- private static final long serialVersionUID = 1L;
-
- private Disabled() {
- super("ReviewDb is disabled for changes");
- }
- }
-
- public static class DisabledChangeAccess implements ChangeAccess {
-
- @Override
- public String getRelationName() {
- throw new Disabled();
- }
-
- @Override
- public int getRelationID() {
- throw new Disabled();
- }
-
- @Override
- public ResultSet<Change> iterateAllEntities() throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public Id primaryKey(Change entity) {
- throw new Disabled();
- }
-
- @Override
- public Map<Id, Change> toMap(Iterable<Change> c) {
- throw new Disabled();
- }
-
- @Override
- public CheckedFuture<Change, OrmException> getAsync(Id key) {
- throw new Disabled();
- }
-
- @Override
- public ResultSet<Change> get(Iterable<Id> keys) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public void insert(Iterable<Change> instances) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public void update(Iterable<Change> instances) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public void upsert(Iterable<Change> instances) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public void deleteKeys(Iterable<Id> keys) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public void delete(Iterable<Change> instances) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public void beginTransaction(Id key) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public Change atomicUpdate(Id key, AtomicUpdate<Change> update) throws OrmException {
- throw new Disabled();
- }
-
- @Override
- public Change get(Id id) throws OrmException {
- return null;
- }
-
- @Override
- public ResultSet<Change> all() throws OrmException {
- return null;
- }
- }
-
- @Override
- public void close() {
- // Do nothing.
- }
-
- @Override
- public void commit() {
- throw new Disabled();
- }
-
- @Override
- public void rollback() {
- throw new Disabled();
- }
-
- @Override
- public void updateSchema(StatementExecutor e) {
- throw new Disabled();
- }
-
- @Override
- public void pruneSchema(StatementExecutor e) {
- throw new Disabled();
- }
-
- @Override
- public Access<?, ?>[] allRelations() {
- throw new Disabled();
- }
-
- @Override
- public SchemaVersionAccess schemaVersion() {
- throw new Disabled();
- }
-
- @Override
- public ChangeAccess changes() {
- return new DisabledChangeAccess();
- }
-
- @Override
- public PatchSetApprovalAccess patchSetApprovals() {
- throw new Disabled();
- }
-
- @Override
- public ChangeMessageAccess changeMessages() {
- throw new Disabled();
- }
-
- @Override
- public PatchSetAccess patchSets() {
- throw new Disabled();
- }
-
- @Override
- public PatchLineCommentAccess patchComments() {
- throw new Disabled();
- }
-
- @Override
- public int nextAccountId() {
- throw new Disabled();
- }
-
- @Override
- public int nextAccountGroupId() {
- throw new Disabled();
- }
-
- @Override
- public int nextChangeId() {
- throw new Disabled();
- }
-}
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBrokerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBrokerTest.java
index ec5b1de..36cc953 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBrokerTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedAwareEventBrokerTest.java
@@ -39,7 +39,7 @@
DynamicSet<EventListener> set = DynamicSet.emptySet();
set.add("high-availability", listenerMock);
PluginSetContext<EventListener> listeners = new PluginSetContext<>(set, mockMetrics);
- broker = new ForwardedAwareEventBroker(null, listeners, null, null, null, null);
+ broker = new ForwardedAwareEventBroker(null, listeners, null, null, null);
}
@Test
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
index 6bfc58b..daef2aa 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
@@ -27,9 +27,7 @@
import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation;
import com.ericsson.gerrit.plugins.highavailability.index.ChangeChecker;
import com.ericsson.gerrit.plugins.highavailability.index.ChangeCheckerImpl;
-import com.ericsson.gerrit.plugins.highavailability.index.ChangeDb;
import com.google.gerrit.reviewdb.client.Change;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.index.change.ChangeIndexer;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.util.OneOffRequestContext;
@@ -56,16 +54,12 @@
private static final boolean CHANGE_EXISTS = true;
private static final boolean CHANGE_DOES_NOT_EXIST = false;
private static final boolean DO_NOT_THROW_IO_EXCEPTION = false;
- private static final boolean DO_NOT_THROW_ORM_EXCEPTION = false;
private static final boolean THROW_IO_EXCEPTION = true;
- private static final boolean THROW_ORM_EXCEPTION = true;
private static final boolean CHANGE_UP_TO_DATE = true;
private static final boolean CHANGE_OUTDATED = false;
@Rule public ExpectedException exception = ExpectedException.none();
@Mock private ChangeIndexer indexerMock;
- @Mock private ChangeDb changeDbMock;
- @Mock private ReviewDb dbMock;
@Mock private ChangeNotes changeNotes;
@Mock private Configuration configMock;
@Mock private Configuration.Index indexMock;
@@ -79,7 +73,6 @@
@Before
public void setUp() throws Exception {
- when(changeDbMock.open()).thenReturn(dbMock);
id = new Change.Id(TEST_CHANGE_NUMBER);
Change change = new Change(null, id, null, null, TimeUtil.nowTs());
when(changeNotes.getChange()).thenReturn(change);
@@ -88,26 +81,21 @@
when(changeCheckerFactoryMock.create(any())).thenReturn(changeCheckerAbsentMock);
handler =
new ForwardedIndexChangeHandler(
- indexerMock,
- changeDbMock,
- configMock,
- indexExecutorMock,
- ctxMock,
- changeCheckerFactoryMock);
+ indexerMock, configMock, indexExecutorMock, ctxMock, changeCheckerFactoryMock);
}
@Test
public void changeIsIndexedWhenUpToDate() throws Exception {
setupChangeAccessRelatedMocks(CHANGE_EXISTS, CHANGE_UP_TO_DATE);
handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty());
- verify(indexerMock, times(1)).index(any(ReviewDb.class), any(Change.class));
+ verify(indexerMock, times(1)).index(any(Change.class));
}
@Test
public void changeIsStillIndexedEvenWhenOutdated() throws Exception {
setupChangeAccessRelatedMocks(CHANGE_EXISTS, CHANGE_OUTDATED);
handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.of(new IndexEvent()));
- verify(indexerMock, times(1)).index(any(ReviewDb.class), any(Change.class));
+ verify(indexerMock, times(1)).index(any(Change.class));
}
@Test
@@ -124,16 +112,8 @@
}
@Test
- public void schemaThrowsExceptionWhenLookingUpForChange() throws Exception {
- setupChangeAccessRelatedMocks(CHANGE_EXISTS, THROW_ORM_EXCEPTION, CHANGE_UP_TO_DATE);
- exception.expect(OrmException.class);
- handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty());
- }
-
- @Test
public void indexerThrowsIOExceptionTryingToIndexChange() throws Exception {
- setupChangeAccessRelatedMocks(
- CHANGE_EXISTS, DO_NOT_THROW_ORM_EXCEPTION, THROW_IO_EXCEPTION, CHANGE_UP_TO_DATE);
+ setupChangeAccessRelatedMocks(CHANGE_EXISTS, THROW_IO_EXCEPTION, CHANGE_UP_TO_DATE);
exception.expect(IOException.class);
handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty());
}
@@ -150,13 +130,13 @@
return null;
})
.when(indexerMock)
- .index(any(ReviewDb.class), any(Change.class));
+ .index(any(Change.class));
assertThat(Context.isForwardedEvent()).isFalse();
handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty());
assertThat(Context.isForwardedEvent()).isFalse();
- verify(indexerMock, times(1)).index(any(ReviewDb.class), any(Change.class));
+ verify(indexerMock, times(1)).index(any(Change.class));
}
@Test
@@ -169,7 +149,7 @@
throw new IOException("someMessage");
})
.when(indexerMock)
- .index(any(ReviewDb.class), any(Change.class));
+ .index(any(Change.class));
assertThat(Context.isForwardedEvent()).isFalse();
try {
@@ -180,38 +160,22 @@
}
assertThat(Context.isForwardedEvent()).isFalse();
- verify(indexerMock, times(1)).index(any(ReviewDb.class), any(Change.class));
+ verify(indexerMock, times(1)).index(any(Change.class));
}
private void setupChangeAccessRelatedMocks(boolean changeExist, boolean changeUpToDate)
throws Exception {
- setupChangeAccessRelatedMocks(
- changeExist, DO_NOT_THROW_ORM_EXCEPTION, DO_NOT_THROW_IO_EXCEPTION, changeUpToDate);
+ setupChangeAccessRelatedMocks(changeExist, DO_NOT_THROW_IO_EXCEPTION, changeUpToDate);
}
private void setupChangeAccessRelatedMocks(
- boolean changeExist, boolean ormException, boolean changeUpToDate)
+ boolean changeExists, boolean ioException, boolean changeIsUpToDate)
throws OrmException, IOException {
- setupChangeAccessRelatedMocks(
- changeExist, ormException, DO_NOT_THROW_IO_EXCEPTION, changeUpToDate);
- }
-
- private void setupChangeAccessRelatedMocks(
- boolean changeExists, boolean ormException, boolean ioException, boolean changeIsUpToDate)
- throws OrmException, IOException {
- if (ormException) {
- doThrow(new OrmException("")).when(changeDbMock).open();
- } else {
- when(changeDbMock.open()).thenReturn(dbMock);
- }
-
if (changeExists) {
when(changeCheckerFactoryMock.create(TEST_CHANGE_ID)).thenReturn(changeCheckerPresentMock);
when(changeCheckerPresentMock.getChangeNotes()).thenReturn(Optional.of(changeNotes));
if (ioException) {
- doThrow(new IOException("io-error"))
- .when(indexerMock)
- .index(any(ReviewDb.class), any(Change.class));
+ doThrow(new IOException("io-error")).when(indexerMock).index(any(Change.class));
}
}