Merge changes from topic "RemoveReviewDbFromChangeNotes"
* changes:
ChangeNotes: Remove ReviewDb-specific logic
NotesMigration: Remove failChangeWrites() method
NotesMigration: Remove disableChangeReviewDb() method
* submodules:
* Update plugins/reviewnotes from branch 'master'
to b98d8920345aa6183fe98ea9bc15ae0fea5d9b58
- Merge "Adapt to removal of ReviewDb-specific logic from ChangeNotes"
- cmd-export: Remove reference to MySQL and PostgreSQL
ReviewDb is gone, hence MySQL and PostgreSQL are no longer used.
Change-Id: I2fa3ad412522c63ee71e2f8df073afc13fabe463
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/java/com/google/gerrit/acceptance/PushOneCommit.java b/java/com/google/gerrit/acceptance/PushOneCommit.java
index d0735c8..99e07ea 100644
--- a/java/com/google/gerrit/acceptance/PushOneCommit.java
+++ b/java/com/google/gerrit/acceptance/PushOneCommit.java
@@ -141,7 +141,6 @@
private final ChangeNotes.Factory notesFactory;
private final ApprovalsUtil approvalsUtil;
private final Provider<InternalChangeQuery> queryProvider;
- private final ReviewDb db;
private final TestRepository<?> testRepo;
private final String subject;
@@ -265,14 +264,14 @@
ChangeNotes.Factory notesFactory,
ApprovalsUtil approvalsUtil,
Provider<InternalChangeQuery> queryProvider,
- ReviewDb db,
+ // TODO(ekempin): Remove unused ReviewDb
+ @SuppressWarnings("unused") ReviewDb db,
PersonIdent i,
TestRepository<?> testRepo,
String subject,
Map<String, String> files,
String changeId)
throws Exception {
- this.db = db;
this.testRepo = testRepo;
this.notesFactory = notesFactory;
this.approvalsUtil = approvalsUtil;
@@ -419,7 +418,7 @@
Change c, ReviewerStateInternal state, List<TestAccount> expectedReviewers)
throws OrmException {
Iterable<Account.Id> actualIds =
- approvalsUtil.getReviewers(notesFactory.createChecked(db, c)).byState(state);
+ approvalsUtil.getReviewers(notesFactory.createChecked(c)).byState(state);
assertThat(actualIds)
.containsExactlyElementsIn(Sets.newHashSet(TestAccount.ids(expectedReviewers)));
}
diff --git a/java/com/google/gerrit/server/change/ChangeFinder.java b/java/com/google/gerrit/server/change/ChangeFinder.java
index 41d89ed..5e7a9bf 100644
--- a/java/com/google/gerrit/server/change/ChangeFinder.java
+++ b/java/com/google/gerrit/server/change/ChangeFinder.java
@@ -30,7 +30,6 @@
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RevId;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.cache.CacheModule;
import com.google.gerrit.server.config.ConfigUtil;
import com.google.gerrit.server.config.GerritServerConfig;
@@ -77,7 +76,6 @@
private final IndexConfig indexConfig;
private final Cache<Change.Id, String> changeIdProjectCache;
private final Provider<InternalChangeQuery> queryProvider;
- private final Provider<ReviewDb> reviewDb;
private final ChangeNotes.Factory changeNotesFactory;
private final Counter1<ChangeIdType> changeIdCounter;
private final ImmutableSet<ChangeIdType> allowedIdTypes;
@@ -87,14 +85,12 @@
IndexConfig indexConfig,
@Named(CACHE_NAME) Cache<Change.Id, String> changeIdProjectCache,
Provider<InternalChangeQuery> queryProvider,
- Provider<ReviewDb> reviewDb,
ChangeNotes.Factory changeNotesFactory,
MetricMaker metricMaker,
@GerritServerConfig Config config) {
this.indexConfig = indexConfig;
this.changeIdProjectCache = changeIdProjectCache;
this.queryProvider = queryProvider;
- this.reviewDb = reviewDb;
this.changeNotesFactory = changeNotesFactory;
this.changeIdCounter =
metricMaker.newCounter(
@@ -203,7 +199,7 @@
Change.Id cId = new Change.Id(changeNumber);
try {
return ImmutableList.of(
- changeNotesFactory.createChecked(reviewDb.get(), Project.NameKey.parse(project), cId));
+ changeNotesFactory.createChecked(Project.NameKey.parse(project), cId));
} catch (NoSuchChangeException e) {
return Collections.emptyList();
} catch (OrmException e) {
diff --git a/java/com/google/gerrit/server/change/ChangeJson.java b/java/com/google/gerrit/server/change/ChangeJson.java
index 889a20c..b39d716 100644
--- a/java/com/google/gerrit/server/change/ChangeJson.java
+++ b/java/com/google/gerrit/server/change/ChangeJson.java
@@ -323,7 +323,7 @@
Project.NameKey project, Change.Id id, Supplier<I> changeInfoSupplier) throws OrmException {
ChangeNotes notes;
try {
- notes = notesFactory.createChecked(db.get(), project, id);
+ notes = notesFactory.createChecked(project, id);
} catch (OrmException e) {
if (!has(CHECK)) {
throw e;
diff --git a/java/com/google/gerrit/server/change/ConsistencyChecker.java b/java/com/google/gerrit/server/change/ConsistencyChecker.java
index b29f42a..f38d670 100644
--- a/java/com/google/gerrit/server/change/ConsistencyChecker.java
+++ b/java/com/google/gerrit/server/change/ConsistencyChecker.java
@@ -413,9 +413,7 @@
}
try {
Change c =
- notesFactory
- .createChecked(db.get(), change().getProject(), psId.getParentKey())
- .getChange();
+ notesFactory.createChecked(change().getProject(), psId.getParentKey()).getChange();
if (!c.getDest().equals(change().getDest())) {
continue;
}
@@ -544,7 +542,7 @@
bu.addOp(notes.getChangeId(), new FixMergedOp(notFound));
bu.execute();
}
- notes = notesFactory.createChecked(db.get(), inserter.getChange());
+ notes = notesFactory.createChecked(inserter.getChange());
insertPatchSetProblem.status = Status.FIXED;
insertPatchSetProblem.outcome = "Inserted as patch set " + psId.get();
} catch (OrmException | IOException | UpdateException | RestApiException e) {
diff --git a/java/com/google/gerrit/server/change/PureRevert.java b/java/com/google/gerrit/server/change/PureRevert.java
index 14829ea..0135683 100644
--- a/java/com/google/gerrit/server/change/PureRevert.java
+++ b/java/com/google/gerrit/server/change/PureRevert.java
@@ -19,7 +19,6 @@
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
import com.google.gerrit.reviewdb.client.PatchSet;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.MergeUtil;
@@ -27,7 +26,6 @@
import com.google.gerrit.server.project.ProjectCache;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import com.google.inject.Singleton;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -49,7 +47,6 @@
private final GitRepositoryManager repoManager;
private final ProjectCache projectCache;
private final ChangeNotes.Factory notesFactory;
- private final Provider<ReviewDb> dbProvider;
private final PatchSetUtil psUtil;
@Inject
@@ -58,13 +55,11 @@
GitRepositoryManager repoManager,
ProjectCache projectCache,
ChangeNotes.Factory notesFactory,
- Provider<ReviewDb> dbProvider,
PatchSetUtil psUtil) {
this.mergeUtilFactory = mergeUtilFactory;
this.repoManager = repoManager;
this.projectCache = projectCache;
this.notesFactory = notesFactory;
- this.dbProvider = dbProvider;
this.psUtil = psUtil;
}
@@ -81,8 +76,7 @@
}
PatchSet ps =
psUtil.current(
- notesFactory.createChecked(
- dbProvider.get(), notes.getProjectName(), notes.getChange().getRevertOf()));
+ notesFactory.createChecked(notes.getProjectName(), notes.getChange().getRevertOf()));
claimedOriginal = ps.getRevision().get();
}
diff --git a/java/com/google/gerrit/server/change/RebaseUtil.java b/java/com/google/gerrit/server/change/RebaseUtil.java
index 8b7c36e..6cb61c1 100644
--- a/java/com/google/gerrit/server/change/RebaseUtil.java
+++ b/java/com/google/gerrit/server/change/RebaseUtil.java
@@ -25,7 +25,6 @@
import com.google.gerrit.reviewdb.client.Change.Status;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.RevId;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.query.change.ChangeData;
@@ -46,18 +45,15 @@
private final Provider<InternalChangeQuery> queryProvider;
private final ChangeNotes.Factory notesFactory;
- private final Provider<ReviewDb> dbProvider;
private final PatchSetUtil psUtil;
@Inject
RebaseUtil(
Provider<InternalChangeQuery> queryProvider,
ChangeNotes.Factory notesFactory,
- Provider<ReviewDb> dbProvider,
PatchSetUtil psUtil) {
this.queryProvider = queryProvider;
this.notesFactory = notesFactory;
- this.dbProvider = dbProvider;
this.psUtil = psUtil;
}
@@ -128,7 +124,7 @@
if (rsrc.getChange().getId().equals(id)) {
return rsrc.getNotes();
}
- return notesFactory.createChecked(dbProvider.get(), rsrc.getProject(), id);
+ return notesFactory.createChecked(rsrc.getProject(), id);
}
/**
diff --git a/java/com/google/gerrit/server/events/EventBroker.java b/java/com/google/gerrit/server/events/EventBroker.java
index 94e9bb1..cf07bf6 100644
--- a/java/com/google/gerrit/server/events/EventBroker.java
+++ b/java/com/google/gerrit/server/events/EventBroker.java
@@ -177,7 +177,7 @@
try {
permissionBackend
.user(user)
- .change(notesFactory.createChecked(db, change))
+ .change(notesFactory.createChecked(change))
.database(db)
.check(ChangePermission.READ);
return true;
@@ -209,10 +209,7 @@
if (PatchSet.isChangeRef(ref)) {
Change.Id cid = PatchSet.Id.fromRef(ref).getParentKey();
try {
- Change change =
- notesFactory
- .createChecked(dbProvider.get(), refEvent.getProjectNameKey(), cid)
- .getChange();
+ Change change = notesFactory.createChecked(refEvent.getProjectNameKey(), cid).getChange();
return isVisibleTo(change, user);
} catch (NoSuchChangeException e) {
logger.atFine().log(
diff --git a/java/com/google/gerrit/server/git/GroupCollector.java b/java/com/google/gerrit/server/git/GroupCollector.java
index 88632e6..e40f296 100644
--- a/java/com/google/gerrit/server/git/GroupCollector.java
+++ b/java/com/google/gerrit/server/git/GroupCollector.java
@@ -106,7 +106,6 @@
public static GroupCollector create(
ListMultimap<ObjectId, Ref> changeRefsById,
- ReviewDb db,
PatchSetUtil psUtil,
ChangeNotes.Factory notesFactory,
Project.NameKey project) {
@@ -116,7 +115,7 @@
@Override
public List<String> lookup(PatchSet.Id psId) throws OrmException {
// TODO(dborowitz): Reuse open repository from caller.
- ChangeNotes notes = notesFactory.createChecked(db, project, psId.getParentKey());
+ ChangeNotes notes = notesFactory.createChecked(project, psId.getParentKey());
PatchSet ps = psUtil.get(notes, psId);
return ps != null ? ps.getGroups() : null;
}
diff --git a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
index 3a9a170..7f9e7a1 100644
--- a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
+++ b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
@@ -1911,7 +1911,7 @@
Change changeEnt;
try {
- changeEnt = notesFactory.createChecked(db, project.getNameKey(), changeId).getChange();
+ changeEnt = notesFactory.createChecked(project.getNameKey(), changeId).getChange();
} catch (NoSuchChangeException e) {
logger.atSevere().withCause(e).log("Change not found %s", changeId);
reject(cmd, "change " + changeId + " not found");
@@ -1991,7 +1991,7 @@
ListMultimap<ObjectId, Ref> existing = changeRefsById();
GroupCollector groupCollector =
- GroupCollector.create(changeRefsById(), db, psUtil, notesFactory, project.getNameKey());
+ GroupCollector.create(changeRefsById(), psUtil, notesFactory, project.getNameKey());
BranchCommitValidator validator =
commitValidatorFactory.create(projectState, magicBranch.dest, user);
@@ -2255,7 +2255,7 @@
private boolean foundInExistingRef(Collection<Ref> existingRefs) throws OrmException {
for (Ref ref : existingRefs) {
ChangeNotes notes =
- notesFactory.create(db, project.getNameKey(), Change.Id.fromRef(ref.getName()));
+ notesFactory.create(project.getNameKey(), Change.Id.fromRef(ref.getName()));
Change change = notes.getChange();
if (change.getDest().equals(magicBranch.dest)) {
logger.atFine().log("Found change %s from existing refs.", change.getKey());
@@ -2564,7 +2564,7 @@
private void readChangesForReplace() throws OrmException {
Collection<ChangeNotes> allNotes =
notesFactory.create(
- db, replaceByChange.values().stream().map(r -> r.ontoChange).collect(toList()));
+ replaceByChange.values().stream().map(r -> r.ontoChange).collect(toList()));
for (ChangeNotes notes : allNotes) {
replaceByChange.get(notes.getChangeId()).notes = notes;
}
@@ -3214,7 +3214,7 @@
private Optional<ChangeNotes> getChangeNotes(Change.Id changeId) throws OrmException {
try {
- return Optional.of(notesFactory.createChecked(db, project.getNameKey(), changeId));
+ return Optional.of(notesFactory.createChecked(project.getNameKey(), changeId));
} catch (NoSuchChangeException e) {
return Optional.empty();
}
diff --git a/java/com/google/gerrit/server/index/change/ReindexAfterRefUpdate.java b/java/com/google/gerrit/server/index/change/ReindexAfterRefUpdate.java
index 609432b..e3fb740 100644
--- a/java/com/google/gerrit/server/index/change/ReindexAfterRefUpdate.java
+++ b/java/com/google/gerrit/server/index/change/ReindexAfterRefUpdate.java
@@ -185,9 +185,7 @@
ReviewDb db = ctx.getReviewDbProvider().get();
try {
Change c =
- notesFactory
- .createChecked(db, new Project.NameKey(event.getProjectName()), id)
- .getChange();
+ notesFactory.createChecked(new Project.NameKey(event.getProjectName()), id).getChange();
indexerFactory.create(executor, indexes).index(db, c);
} catch (NoSuchChangeException e) {
indexerFactory.create(executor, indexes).delete(id);
diff --git a/java/com/google/gerrit/server/index/change/StalenessChecker.java b/java/com/google/gerrit/server/index/change/StalenessChecker.java
index cf7db6f..d5d6b05 100644
--- a/java/com/google/gerrit/server/index/change/StalenessChecker.java
+++ b/java/com/google/gerrit/server/index/change/StalenessChecker.java
@@ -36,9 +36,9 @@
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.reviewdb.server.ReviewDbUtil;
import com.google.gerrit.server.UsedAt;
import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage;
import com.google.gerrit.server.query.change.ChangeData;
import com.google.gwtorm.server.OrmException;
@@ -100,7 +100,7 @@
repoManager,
id,
cd.change(),
- ChangeNotes.readOneReviewDbChange(db.get(), id),
+ ReviewDbUtil.unwrapDb(db.get()).changes().get(id),
parseStates(cd),
parsePatterns(cd));
}
diff --git a/java/com/google/gerrit/server/notedb/AbstractChangeUpdate.java b/java/com/google/gerrit/server/notedb/AbstractChangeUpdate.java
index e0cc771..1e90447 100644
--- a/java/com/google/gerrit/server/notedb/AbstractChangeUpdate.java
+++ b/java/com/google/gerrit/server/notedb/AbstractChangeUpdate.java
@@ -215,10 +215,6 @@
return null;
}
- // Allow this method to proceed even if migration.failChangeWrites() = true.
- // This may be used by an auto-rebuilding step that the caller does not plan
- // to actually store.
-
checkArgument(rw.getObjectReader().getCreatedFromInserter() == ins);
checkNotReadOnly();
diff --git a/java/com/google/gerrit/server/notedb/ChangeNotes.java b/java/com/google/gerrit/server/notedb/ChangeNotes.java
index a3fa45f..37de143 100644
--- a/java/com/google/gerrit/server/notedb/ChangeNotes.java
+++ b/java/com/google/gerrit/server/notedb/ChangeNotes.java
@@ -47,8 +47,6 @@
import com.google.gerrit.reviewdb.client.RefNames;
import com.google.gerrit.reviewdb.client.RevId;
import com.google.gerrit.reviewdb.client.RobotComment;
-import com.google.gerrit.reviewdb.server.ReviewDb;
-import com.google.gerrit.reviewdb.server.ReviewDbUtil;
import com.google.gerrit.server.ReviewerByEmailSet;
import com.google.gerrit.server.ReviewerSet;
import com.google.gerrit.server.ReviewerStatusUpdate;
@@ -92,11 +90,6 @@
return new ConfigInvalidException("Change " + changeId + ": " + String.format(fmt, args));
}
- @Nullable
- public static Change readOneReviewDbChange(ReviewDb db, Change.Id id) throws OrmException {
- return ReviewDbUtil.unwrapDb(db).changes().get(id);
- }
-
@Singleton
public static class Factory {
private final Args args;
@@ -112,20 +105,14 @@
this.projectCache = projectCache;
}
- public ChangeNotes createChecked(ReviewDb db, Change c) throws OrmException {
- return createChecked(db, c.getProject(), c.getId());
+ public ChangeNotes createChecked(Change c) throws OrmException {
+ return createChecked(c.getProject(), c.getId());
}
- public ChangeNotes createChecked(ReviewDb db, Project.NameKey project, Change.Id changeId)
+ public ChangeNotes createChecked(Project.NameKey project, Change.Id changeId)
throws OrmException {
- Change change = readOneReviewDbChange(db, changeId);
- if (change == null) {
- // Change isn't in ReviewDb, but its primary storage might be in NoteDb.
- // Prepopulate the change exists with proper noteDbState field.
- change = newNoteDbOnlyChange(project, changeId);
- } else if (!change.getProject().equals(project)) {
- throw new NoSuchChangeException(changeId);
- }
+ // Prepopulate the change exists with proper noteDbState field.
+ Change change = newChange(project, changeId);
return new ChangeNotes(args, change).load();
}
@@ -142,7 +129,7 @@
return changes.get(0).notes();
}
- public static Change newNoteDbOnlyChange(Project.NameKey project, Change.Id changeId) {
+ public static Change newChange(Project.NameKey project, Change.Id changeId) {
Change change =
new Change(
null, changeId, null, new Branch.NameKey(project, "INVALID_NOTE_DB_ONLY"), null);
@@ -150,26 +137,9 @@
return change;
}
- private Change loadChangeFromDb(ReviewDb db, Project.NameKey project, Change.Id changeId)
- throws OrmException {
+ public ChangeNotes create(Project.NameKey project, Change.Id changeId) throws OrmException {
checkArgument(project != null, "project is required");
- Change change = readOneReviewDbChange(db, changeId);
-
- if (change == null) {
- return newNoteDbOnlyChange(project, changeId);
- }
- checkArgument(
- change.getProject().equals(project),
- "passed project %s when creating ChangeNotes for %s, but actual project is %s",
- project,
- changeId,
- change.getProject());
- return change;
- }
-
- public ChangeNotes create(ReviewDb db, Project.NameKey project, Change.Id changeId)
- throws OrmException {
- return new ChangeNotes(args, loadChangeFromDb(db, project, changeId)).load();
+ return new ChangeNotes(args, newChange(project, changeId)).load();
}
/**
@@ -192,8 +162,7 @@
return new ChangeNotes(args, change, true, refs).load();
}
- public List<ChangeNotes> create(ReviewDb db, Collection<Change.Id> changeIds)
- throws OrmException {
+ public List<ChangeNotes> create(Collection<Change.Id> changeIds) throws OrmException {
List<ChangeNotes> notes = new ArrayList<>();
for (Change.Id changeId : changeIds) {
try {
@@ -206,15 +175,12 @@
}
public List<ChangeNotes> create(
- ReviewDb db,
- Project.NameKey project,
- Collection<Change.Id> changeIds,
- Predicate<ChangeNotes> predicate)
+ Project.NameKey project, Collection<Change.Id> changeIds, Predicate<ChangeNotes> predicate)
throws OrmException {
List<ChangeNotes> notes = new ArrayList<>();
for (Change.Id cid : changeIds) {
try {
- ChangeNotes cn = create(db, project, cid);
+ ChangeNotes cn = create(project, cid);
if (cn.getChange() != null && predicate.test(cn)) {
notes.add(cn);
}
@@ -227,8 +193,8 @@
return notes;
}
- public ListMultimap<Project.NameKey, ChangeNotes> create(
- ReviewDb db, Predicate<ChangeNotes> predicate) throws IOException, OrmException {
+ public ListMultimap<Project.NameKey, ChangeNotes> create(Predicate<ChangeNotes> predicate)
+ throws IOException {
ListMultimap<Project.NameKey, ChangeNotes> m =
MultimapBuilder.hashKeys().arrayListValues().build();
for (Project.NameKey project : projectCache.all()) {
@@ -258,15 +224,15 @@
}
// TODO(dborowitz): See discussion in BatchUpdate#newChangeContext.
- Change change = ChangeNotes.Factory.newNoteDbOnlyChange(project, id);
+ Change change = ChangeNotes.Factory.newChange(project, id);
logger.atFine().log("adding change %s found in project %s", id, project);
return toResult(change);
}
@Nullable
- private ChangeNotesResult toResult(Change rawChangeFromReviewDbOrNoteDb) {
- ChangeNotes n = new ChangeNotes(args, rawChangeFromReviewDbOrNoteDb);
+ private ChangeNotesResult toResult(Change rawChangeFromNoteDb) {
+ ChangeNotes n = new ChangeNotes(args, rawChangeFromNoteDb);
try {
n.load();
} catch (OrmException e) {
@@ -549,6 +515,9 @@
protected void onLoad(LoadHandle handle) throws NoSuchChangeException, IOException {
ObjectId rev = handle.id();
if (rev == null) {
+ // TODO(ekempin): Remove the primary storage check. At the moment it is still needed for the
+ // ChangeNotesParserTest which still runs with ReviewDb changes (see TODO in
+ // TestUpdate#newChange).
if (PrimaryStorage.of(change) == PrimaryStorage.NOTE_DB && shouldExist) {
throw new NoSuchChangeException(getChangeId());
}
diff --git a/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java b/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java
index 046757d..35cd402 100644
--- a/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java
+++ b/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java
@@ -614,10 +614,6 @@
@Nullable
public BatchRefUpdate execute(boolean dryrun) throws OrmException, IOException {
- // Check before even inspecting the list, as this is a programmer error.
- if (migration.failChangeWrites()) {
- throw new OrmException(CHANGES_READ_ONLY);
- }
if (isEmpty()) {
return null;
}
diff --git a/java/com/google/gerrit/server/notedb/NotesMigration.java b/java/com/google/gerrit/server/notedb/NotesMigration.java
index 1f9b7dc..26e764a 100644
--- a/java/com/google/gerrit/server/notedb/NotesMigration.java
+++ b/java/com/google/gerrit/server/notedb/NotesMigration.java
@@ -45,25 +45,10 @@
return true;
}
- /**
- * Disable ReviewDb access for changes.
- *
- * <p>When set, ReviewDb operations involving the Changes table become no-ops. Lookups return no
- * results; updates do nothing, as does opening, committing, or rolling back a transaction on the
- * Changes table.
- */
- public final boolean disableChangeReviewDb() {
- return true;
- }
-
public final boolean commitChangeWrites() {
return true;
}
- public final boolean failChangeWrites() {
- return false;
- }
-
@Override
public final boolean equals(Object o) {
return o instanceof NotesMigration;
diff --git a/java/com/google/gerrit/server/permissions/ChangeControl.java b/java/com/google/gerrit/server/permissions/ChangeControl.java
index f4e659e..b15854d 100644
--- a/java/com/google/gerrit/server/permissions/ChangeControl.java
+++ b/java/com/google/gerrit/server/permissions/ChangeControl.java
@@ -55,10 +55,9 @@
this.notesFactory = notesFactory;
}
- ChangeControl create(
- RefControl refControl, ReviewDb db, Project.NameKey project, Change.Id changeId)
+ ChangeControl create(RefControl refControl, Project.NameKey project, Change.Id changeId)
throws OrmException {
- return create(refControl, notesFactory.create(db, project, changeId));
+ return create(refControl, notesFactory.create(project, changeId));
}
ChangeControl create(RefControl refControl, ChangeNotes notes) {
diff --git a/java/com/google/gerrit/server/permissions/ProjectControl.java b/java/com/google/gerrit/server/permissions/ProjectControl.java
index 787bee4..445e577 100644
--- a/java/com/google/gerrit/server/permissions/ProjectControl.java
+++ b/java/com/google/gerrit/server/permissions/ProjectControl.java
@@ -27,7 +27,6 @@
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RefNames;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.account.GroupMembership;
import com.google.gerrit.server.config.GitReceivePackGroups;
@@ -98,9 +97,9 @@
return new ForProjectImpl();
}
- ChangeControl controlFor(ReviewDb db, Change change) throws OrmException {
+ ChangeControl controlFor(Change change) throws OrmException {
return changeControlFactory.create(
- controlForRef(change.getDest()), db, change.getProject(), change.getId());
+ controlForRef(change.getDest()), change.getProject(), change.getId());
}
ChangeControl controlFor(ChangeNotes notes) {
diff --git a/java/com/google/gerrit/server/permissions/RefControl.java b/java/com/google/gerrit/server/permissions/RefControl.java
index 83ea7f8..e445eb8 100644
--- a/java/com/google/gerrit/server/permissions/RefControl.java
+++ b/java/com/google/gerrit/server/permissions/RefControl.java
@@ -442,9 +442,7 @@
public ForChange change(ChangeData cd) {
try {
// TODO(hiesel) Force callers to call database() and use db instead of cd.db()
- return getProjectControl()
- .controlFor(cd.db(), cd.change())
- .asForChange(cd, Providers.of(cd.db()));
+ return getProjectControl().controlFor(cd.change()).asForChange(cd, Providers.of(cd.db()));
} catch (OrmException e) {
return FailedPermissionBackend.change("unavailable", e);
}
diff --git a/java/com/google/gerrit/server/query/change/ChangeData.java b/java/com/google/gerrit/server/query/change/ChangeData.java
index 4df953e..c12201f 100644
--- a/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -139,7 +139,7 @@
if (missing.isEmpty()) {
return;
}
- for (ChangeNotes notes : first.notesFactory.create(first.db, missing.keySet())) {
+ for (ChangeNotes notes : first.notesFactory.create(missing.keySet())) {
missing.get(notes.getChangeId()).change = notes.getChange();
}
}
@@ -571,7 +571,7 @@
public Change reloadChange() throws OrmException {
try {
- notes = notesFactory.createChecked(db, project, legacyId);
+ notes = notesFactory.createChecked(project, legacyId);
} catch (NoSuchChangeException e) {
throw new OrmException("Unable to load change " + legacyId, e);
}
@@ -598,7 +598,7 @@
if (!lazyLoad) {
throw new OrmException("ChangeNotes not available, lazyLoad = false");
}
- notes = notesFactory.create(db, project(), legacyId);
+ notes = notesFactory.create(project(), legacyId);
}
return notes;
}
diff --git a/java/com/google/gerrit/server/query/change/InternalChangeQuery.java b/java/com/google/gerrit/server/query/change/InternalChangeQuery.java
index 495d27c..23993ef 100644
--- a/java/com/google/gerrit/server/query/change/InternalChangeQuery.java
+++ b/java/com/google/gerrit/server/query/change/InternalChangeQuery.java
@@ -215,7 +215,6 @@
List<ChangeNotes> notes =
notesFactory.create(
- db,
branch.getParentKey(),
changeIds,
cn -> {
diff --git a/java/com/google/gerrit/server/restapi/change/CherryPickChange.java b/java/com/google/gerrit/server/restapi/change/CherryPickChange.java
index c7a8a96..4c34e62 100644
--- a/java/com/google/gerrit/server/restapi/change/CherryPickChange.java
+++ b/java/com/google/gerrit/server/restapi/change/CherryPickChange.java
@@ -360,8 +360,7 @@
.setAccountsToNotify(notifyUtil.resolveAccounts(input.notifyDetails));
if (input.keepReviewers && sourceChange != null) {
ReviewerSet reviewerSet =
- approvalsUtil.getReviewers(
- changeNotesFactory.createChecked(dbProvider.get(), sourceChange));
+ approvalsUtil.getReviewers(changeNotesFactory.createChecked(sourceChange));
Set<Account.Id> reviewers =
new HashSet<>(reviewerSet.byState(ReviewerStateInternal.REVIEWER));
reviewers.add(sourceChange.getOwner());
diff --git a/java/com/google/gerrit/server/restapi/change/Submit.java b/java/com/google/gerrit/server/restapi/change/Submit.java
index d426df3..e46085d 100644
--- a/java/com/google/gerrit/server/restapi/change/Submit.java
+++ b/java/com/google/gerrit/server/restapi/change/Submit.java
@@ -215,8 +215,7 @@
ReviewDb db = dbProvider.get();
op.merge(db, change, submitter, true, input, false);
try {
- change =
- changeNotesFactory.createChecked(db, change.getProject(), change.getId()).getChange();
+ change = changeNotesFactory.createChecked(change.getProject(), change.getId()).getChange();
} catch (NoSuchChangeException e) {
throw new ResourceConflictException("change is deleted");
}
diff --git a/java/com/google/gerrit/server/update/BatchUpdate.java b/java/com/google/gerrit/server/update/BatchUpdate.java
index 0889f52..2c1824c 100644
--- a/java/com/google/gerrit/server/update/BatchUpdate.java
+++ b/java/com/google/gerrit/server/update/BatchUpdate.java
@@ -638,7 +638,7 @@
// Pass a synthetic change into ChangeNotes.Factory, which will take care of checking for
// existence and populating columns from the parsed notes state.
// TODO(dborowitz): This dance made more sense when using Reviewdb; consider a nicer way.
- c = ChangeNotes.Factory.newNoteDbOnlyChange(project, id);
+ c = ChangeNotes.Factory.newChange(project, id);
} else {
logDebug("Change %s is new", id);
}
diff --git a/java/com/google/gerrit/sshd/ChangeArgumentParser.java b/java/com/google/gerrit/sshd/ChangeArgumentParser.java
index 7a9f298..b402533 100644
--- a/java/com/google/gerrit/sshd/ChangeArgumentParser.java
+++ b/java/com/google/gerrit/sshd/ChangeArgumentParser.java
@@ -121,7 +121,7 @@
}
private List<ChangeNotes> changeFromNotesFactory(String id) throws OrmException, UnloggedFailure {
- return changeNotesFactory.create(db, parseId(id));
+ return changeNotesFactory.create(parseId(id));
}
private List<Change.Id> parseId(String id) throws UnloggedFailure {
diff --git a/java/com/google/gerrit/sshd/commands/PatchSetParser.java b/java/com/google/gerrit/sshd/commands/PatchSetParser.java
index a1e8f07..d174561 100644
--- a/java/com/google/gerrit/sshd/commands/PatchSetParser.java
+++ b/java/com/google/gerrit/sshd/commands/PatchSetParser.java
@@ -19,7 +19,6 @@
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RevId;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.change.ChangeFinder;
import com.google.gerrit.server.notedb.ChangeNotes;
@@ -37,7 +36,6 @@
@Singleton
public class PatchSetParser {
- private final Provider<ReviewDb> db;
private final Provider<InternalChangeQuery> queryProvider;
private final ChangeNotes.Factory notesFactory;
private final PatchSetUtil psUtil;
@@ -45,12 +43,10 @@
@Inject
PatchSetParser(
- Provider<ReviewDb> db,
Provider<InternalChangeQuery> queryProvider,
ChangeNotes.Factory notesFactory,
PatchSetUtil psUtil,
ChangeFinder changeFinder) {
- this.db = db;
this.queryProvider = queryProvider;
this.notesFactory = notesFactory;
this.psUtil = psUtil;
@@ -129,11 +125,11 @@
private ChangeNotes getNotes(@Nullable ProjectState projectState, Change.Id changeId)
throws OrmException, UnloggedFailure {
if (projectState != null) {
- return notesFactory.create(db.get(), projectState.getNameKey(), changeId);
+ return notesFactory.create(projectState.getNameKey(), changeId);
}
try {
ChangeNotes notes = changeFinder.findOne(changeId);
- return notesFactory.create(db.get(), notes.getProjectName(), changeId);
+ return notesFactory.create(notes.getProjectName(), changeId);
} catch (NoSuchChangeException e) {
throw error("\"" + changeId + "\" no such change");
}
diff --git a/java/com/google/gerrit/testing/TestChanges.java b/java/com/google/gerrit/testing/TestChanges.java
index 0c87b38..fe4f3e7 100644
--- a/java/com/google/gerrit/testing/TestChanges.java
+++ b/java/com/google/gerrit/testing/TestChanges.java
@@ -53,6 +53,7 @@
public static Change newChange(Project.NameKey project, Account.Id userId, int id) {
Change.Id changeId = new Change.Id(id);
+ // TODO(ekempin): Create NoteDb change.
Change c =
new Change(
new Change.Key("Iabcd1234abcd1234abcd1234abcd1234abcd1234"),
diff --git a/javatests/com/google/gerrit/acceptance/git/RefAdvertisementIT.java b/javatests/com/google/gerrit/acceptance/git/RefAdvertisementIT.java
index 7108a98..54295cc 100644
--- a/javatests/com/google/gerrit/acceptance/git/RefAdvertisementIT.java
+++ b/javatests/com/google/gerrit/acceptance/git/RefAdvertisementIT.java
@@ -252,7 +252,7 @@
public void uploadPackSubsetOfBranchesVisibleWithEdit() throws Exception {
allow("refs/heads/master", Permission.READ, REGISTERED_USERS);
- Change c = notesFactory.createChecked(db, project, c3.getId()).getChange();
+ Change c = notesFactory.createChecked(project, c3.getId()).getChange();
String changeId = c.getKey().get();
// Admin's edit is not visible.
@@ -280,9 +280,9 @@
allow("refs/heads/master", Permission.READ, REGISTERED_USERS);
allow("refs/*", Permission.VIEW_PRIVATE_CHANGES, REGISTERED_USERS);
- Change change3 = notesFactory.createChecked(db, project, c3.getId()).getChange();
+ Change change3 = notesFactory.createChecked(project, c3.getId()).getChange();
String changeId3 = change3.getKey().get();
- Change change4 = notesFactory.createChecked(db, project, c4.getId()).getChange();
+ Change change4 = notesFactory.createChecked(project, c4.getId()).getChange();
String changeId4 = change4.getKey().get();
// Admin's edit on change3 is visible.
diff --git a/javatests/com/google/gerrit/acceptance/git/SubmitOnPushIT.java b/javatests/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
index cf22a0a..dd9f08f 100644
--- a/javatests/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
+++ b/javatests/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
@@ -317,7 +317,7 @@
}
private PatchSetApproval getSubmitter(PatchSet.Id patchSetId) throws Exception {
- ChangeNotes notes = notesFactory.createChecked(db, project, patchSetId.getParentKey()).load();
+ ChangeNotes notes = notesFactory.createChecked(project, patchSetId.getParentKey()).load();
return approvalsUtil.getSubmitter(notes, patchSetId);
}
diff --git a/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java b/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
index a4d9a24..8bfcc84 100644
--- a/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
+++ b/javatests/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
@@ -1276,7 +1276,7 @@
protected void assertSubmitter(String changeId, int psId, TestAccount user) throws Exception {
Change c = getOnlyElement(queryProvider.get().byKeyPrefix(changeId)).change();
- ChangeNotes cn = notesFactory.createChecked(db, c);
+ ChangeNotes cn = notesFactory.createChecked(c);
PatchSetApproval submitter =
approvalsUtil.getSubmitter(cn, new PatchSet.Id(cn.getChangeId(), psId));
assertThat(submitter).isNotNull();
@@ -1286,7 +1286,7 @@
protected void assertNoSubmitter(String changeId, int psId) throws Exception {
Change c = getOnlyElement(queryProvider.get().byKeyPrefix(changeId)).change();
- ChangeNotes cn = notesFactory.createChecked(db, c);
+ ChangeNotes cn = notesFactory.createChecked(c);
PatchSetApproval submitter =
approvalsUtil.getSubmitter(cn, new PatchSet.Id(cn.getChangeId(), psId));
assertThat(submitter).isNull();
diff --git a/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java b/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java
index a352baa..5d97347 100644
--- a/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java
+++ b/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java
@@ -950,7 +950,7 @@
addComment(result.getChangeId(), "comment");
Collection<com.google.gerrit.reviewdb.client.Comment> comments =
- notesFactory.createChecked(db, project, changeId).getComments().values();
+ notesFactory.createChecked(project, changeId).getComments().values();
assertThat(comments).hasSize(1);
com.google.gerrit.reviewdb.client.Comment comment = comments.iterator().next();
assertThat(comment.message).isEqualTo("comment");
diff --git a/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java b/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java
index 460cd30..9b19b22 100644
--- a/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java
+++ b/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java
@@ -261,7 +261,7 @@
+ rev
+ "\n");
indexer.index(db, c.getProject(), c.getId());
- ChangeNotes notes = changeNotesFactory.create(db, c.getProject(), c.getId());
+ ChangeNotes notes = changeNotesFactory.create(c.getProject(), c.getId());
FixInput fix = new FixInput();
fix.deletePatchSetIfCommitMissing = true;
@@ -760,7 +760,7 @@
.setSendMail(false);
bu.insertChange(ins).execute();
}
- return changeNotesFactory.create(db, project, ins.getChange().getId());
+ return changeNotesFactory.create(project, ins.getChange().getId());
}
private PatchSet.Id nextPatchSetId(ChangeNotes notes) throws Exception {
@@ -787,7 +787,7 @@
}
private ChangeNotes reload(ChangeNotes notes) throws Exception {
- return changeNotesFactory.create(db, notes.getChange().getProject(), notes.getChangeId());
+ return changeNotesFactory.create(notes.getChange().getProject(), notes.getChangeId());
}
private RevCommit patchSetCommit(PatchSet.Id psId) throws Exception {
diff --git a/javatests/com/google/gerrit/acceptance/server/notedb/NoteDbOnlyIT.java b/javatests/com/google/gerrit/acceptance/server/notedb/NoteDbOnlyIT.java
index 5047b73..7af0ff8 100644
--- a/javatests/com/google/gerrit/acceptance/server/notedb/NoteDbOnlyIT.java
+++ b/javatests/com/google/gerrit/acceptance/server/notedb/NoteDbOnlyIT.java
@@ -189,8 +189,8 @@
@Test
public void missingChange() throws Exception {
Change.Id changeId = new Change.Id(1234567);
- assertNoSuchChangeException(() -> notesFactory.create(db, project, changeId));
- assertNoSuchChangeException(() -> notesFactory.createChecked(db, project, changeId));
+ assertNoSuchChangeException(() -> notesFactory.create(project, changeId));
+ assertNoSuchChangeException(() -> notesFactory.createChecked(project, changeId));
}
private void assertNoSuchChangeException(Callable<?> callable) throws Exception {
diff --git a/javatests/com/google/gerrit/server/change/LabelNormalizerTest.java b/javatests/com/google/gerrit/server/change/LabelNormalizerTest.java
index cc15b1b..b852bfb 100644
--- a/javatests/com/google/gerrit/server/change/LabelNormalizerTest.java
+++ b/javatests/com/google/gerrit/server/change/LabelNormalizerTest.java
@@ -135,7 +135,7 @@
input.newBranch = true;
input.subject = "Test change";
ChangeInfo info = gApi.changes().create(input).get();
- notes = changeNotesFactory.createChecked(db, allProjects, new Change.Id(info._number));
+ notes = changeNotesFactory.createChecked(allProjects, new Change.Id(info._number));
change = notes.getChange();
}
diff --git a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
index fb20a05..7d8f3c6 100644
--- a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
+++ b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
@@ -1303,7 +1303,7 @@
assertQuery("status:new", change2, change1);
gApi.changes().id(change1.getId().get()).topic("new-topic");
- change1 = notesFactory.create(db, change1.getProject(), change1.getId()).getChange();
+ change1 = notesFactory.create(change1.getProject(), change1.getId()).getChange();
assertThat(lastUpdatedMs(change1)).isGreaterThan(lastUpdatedMs(change2));
assertThat(lastUpdatedMs(change1) - lastUpdatedMs(change2))
@@ -2276,7 +2276,7 @@
TestRepository<Repo> repo = createProject(project.get());
Change change = insert(repo, newChange(repo));
String changeId = change.getKey().get();
- ChangeNotes notes = notesFactory.create(db, change.getProject(), change.getId());
+ ChangeNotes notes = notesFactory.create(change.getProject(), change.getId());
PatchSet ps = psUtil.get(notes, change.currentPatchSetId());
requestContext.setContext(newRequestContext(user));
@@ -2985,7 +2985,7 @@
PatchSetInserter inserter =
patchSetFactory
- .create(changeNotesFactory.createChecked(db, c), new PatchSet.Id(c.getId(), n), commit)
+ .create(changeNotesFactory.createChecked(c), new PatchSet.Id(c.getId(), n), commit)
.setNotify(NotifyHandling.NONE)
.setFireRevisionCreated(false)
.setValidate(false);
diff --git a/plugins/reviewnotes b/plugins/reviewnotes
index fdbadf3..b98d892 160000
--- a/plugins/reviewnotes
+++ b/plugins/reviewnotes
@@ -1 +1 @@
-Subproject commit fdbadf312d829990d3a4be3491d13a79d6c0cf5b
+Subproject commit b98d8920345aa6183fe98ea9bc15ae0fea5d9b58