summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server/schema/Schema_146.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server/schema/Schema_146.java')
-rw-r--r--java/com/google/gerrit/server/schema/Schema_146.java29
1 files changed, 1 insertions, 28 deletions
diff --git a/java/com/google/gerrit/server/schema/Schema_146.java b/java/com/google/gerrit/server/schema/Schema_146.java
index bc90c6d73d..e955bada74 100644
--- a/java/com/google/gerrit/server/schema/Schema_146.java
+++ b/java/com/google/gerrit/server/schema/Schema_146.java
@@ -32,7 +32,6 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -43,7 +42,6 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantLock;
-import org.eclipse.jgit.internal.storage.file.FileRepository;
import org.eclipse.jgit.internal.storage.file.PackInserter;
import org.eclipse.jgit.lib.BatchRefUpdate;
import org.eclipse.jgit.lib.CommitBuilder;
@@ -52,10 +50,8 @@ import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.ObjectInserter;
import org.eclipse.jgit.lib.ObjectReader;
import org.eclipse.jgit.lib.PersonIdent;
-import org.eclipse.jgit.lib.ProgressMonitor;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.lib.TextProgressMonitor;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevSort;
import org.eclipse.jgit.revwalk.RevWalk;
@@ -100,9 +96,6 @@ public class Schema_146 extends SchemaVersion {
protected void migrateData(ReviewDb db, UpdateUI ui) throws OrmException, SQLException {
ui.message("Migrating accounts");
Set<Entry<Account.Id, Timestamp>> accounts = scanAccounts(db, ui).entrySet();
- ui.message("Run full gc as preparation for the migration");
- gc(ui);
- ui.message(String.format("... (%.3f s) full gc completed", elapsed()));
Set<List<Entry<Account.Id, Timestamp>>> batches =
Sets.newHashSet(Iterables.partition(accounts, 500));
ExecutorService pool = createExecutor(ui);
@@ -159,9 +152,7 @@ public class Schema_146 extends SchemaVersion {
inserter.flush();
bru.execute(rw, NullProgressMonitor.INSTANCE);
if (inserter instanceof PackInserter && packs.incrementAndGet() % 50 == 0) {
- ui.message("Run full gc");
- gc(ui);
- ui.message(String.format("... (%.3f s) full gc completed", elapsed()));
+ runGcInBackground(repoManager, allUsersName, ui);
}
}
showProgress(ui, migratedAccounts.addAndGet(batch.size()));
@@ -183,24 +174,6 @@ public class Schema_146 extends SchemaVersion {
}
}
- private void gc(UpdateUI ui) {
- try (Repository repo = repoManager.openRepository(allUsersName)) {
- if (repo instanceof FileRepository && gcLock.tryLock()) {
- ProgressMonitor pm = new TextProgressMonitor();
- try {
- gc(repo, ui, pm, sw);
- } catch (IOException | ParseException e) {
- throw new RuntimeException(e);
- } finally {
- gcLock.unlock();
- pm.endTask();
- }
- }
- } catch (IOException e) {
- throw new UncheckedIOException(e);
- }
- }
-
private void rewriteUserBranch(
RevWalk rw,
ObjectInserter oi,