diff options
Diffstat (limited to 'java/com/google/gerrit/server/schema/Schema_146.java')
-rw-r--r-- | java/com/google/gerrit/server/schema/Schema_146.java | 29 |
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, |