diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java index c0e00aaa37..79e35be1ed 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java @@ -92,7 +92,8 @@ public class BanCommit { banCommitNotes.set(commitToBan, createNoteContent(reason, inserter)); } inserter.flush(); - NotesBranchUtil notesBranchUtil = notesBranchUtilFactory.create(repo); + NotesBranchUtil notesBranchUtil = notesBranchUtilFactory.create(repo, + inserter); NoteMap newlyCreated = notesBranchUtil.commitNewNotes(banCommitNotes, REF_REJECT_COMMITS, createPersonIdent(), buildCommitMessage(commitsToBan, reason)); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/CreateCodeReviewNotes.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/CreateCodeReviewNotes.java index 9a0fe17e0c..50412e3c42 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/CreateCodeReviewNotes.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/CreateCodeReviewNotes.java @@ -114,7 +114,8 @@ public class CreateCodeReviewNotes { message.append("* ").append(c.getShortMessage()).append("\n"); } - NotesBranchUtil notesBranchUtil = notesBranchUtilFactory.create(db); + NotesBranchUtil notesBranchUtil = notesBranchUtilFactory.create(db, + inserter); notesBranchUtil.commitAllNotes(notes, REFS_NOTES_REVIEW, author, message.toString()); inserter.flush(); @@ -149,7 +150,8 @@ public class CreateCodeReviewNotes { notes.set(commitId, createNoteContent(c, commitId)); } - NotesBranchUtil notesBranchUtil = notesBranchUtilFactory.create(db); + NotesBranchUtil notesBranchUtil = notesBranchUtilFactory.create(db, + inserter); notesBranchUtil.commitAllNotes(notes, REFS_NOTES_REVIEW, author, commitMessage); inserter.flush(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/NotesBranchUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/NotesBranchUtil.java index 17cfea8533..7887edda5e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/NotesBranchUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/NotesBranchUtil.java @@ -47,7 +47,7 @@ import java.io.IOException; */ public class NotesBranchUtil { public interface Factory { - NotesBranchUtil create(Repository db); + NotesBranchUtil create(Repository db, ObjectInserter inserter); } private static final int MAX_LOCK_FAILURE_CALLS = 10; @@ -55,6 +55,7 @@ public class NotesBranchUtil { private PersonIdent gerritIdent; private final Repository db; + private final ObjectInserter inserter; private RevCommit baseCommit; private NoteMap base; @@ -63,7 +64,6 @@ public class NotesBranchUtil { private NoteMap ours; private RevWalk revWalk; - private ObjectInserter inserter; private ObjectReader reader; private boolean overwrite; @@ -71,9 +71,11 @@ public class NotesBranchUtil { @Inject public NotesBranchUtil(@GerritPersonIdent final PersonIdent gerritIdent, - @Assisted Repository db) { + @Assisted Repository db, + @Assisted ObjectInserter inserter) { this.gerritIdent = gerritIdent; this.db = db; + this.inserter = inserter; } /** @@ -128,7 +130,6 @@ public class NotesBranchUtil { ConcurrentRefUpdateException { try { revWalk = new RevWalk(db); - inserter = db.newObjectInserter(); reader = db.newObjectReader(); loadBase(notesBranch); if (overwrite) { @@ -144,7 +145,6 @@ public class NotesBranchUtil { updateRef(notesBranch); } finally { revWalk.release(); - inserter.release(); reader.release(); } }