fix(TUP-41569):Cleaning the HistoryStore during migration helps in

reducing disk space usage
https://jira.talendforge.org/browse/TUP-41569
This commit is contained in:
jding-tlnd
2024-01-28 03:32:10 +08:00
parent 5272783310
commit 8133f2a042
2 changed files with 7 additions and 7 deletions

View File

@@ -28,7 +28,6 @@ import java.util.stream.Collectors;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.eclipse.core.internal.resources.Workspace;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
@@ -2341,11 +2340,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
TimeMeasurePerformance.step("logOnProject", "clean Java project"); //$NON-NLS-1$ //$NON-NLS-2$
if (workspace instanceof Workspace) {
((Workspace) workspace).getFileSystemManager().getHistoryStore().clean(currentMonitor);
}
TimeMeasurePerformance.step("logOnProject", "clean workspace history"); //$NON-NLS-1$ //$NON-NLS-2$
currentMonitor = subMonitor.newChild(1, SubMonitor.SUPPRESS_NONE);
currentMonitor.beginTask(Messages.getString("ProxyRepositoryFactory.synch.repo.items"), 1); //$NON-NLS-1$
@@ -2394,6 +2388,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
}
HistoryStoreHelper.getInstance().checkAndClean(false);
} catch (LoginException e) {
if (!LoginException.RESTART.equals(e.getKey())) {
try {

View File

@@ -16,12 +16,14 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import org.eclipse.core.internal.localstore.IHistoryStore;
import org.eclipse.core.internal.resources.Workspace;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.talend.commons.exception.ExceptionHandler;
/**
@@ -66,7 +68,10 @@ public class HistoryStoreHelper {
try {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
if (workspace instanceof Workspace) {
((Workspace) workspace).getFileSystemManager().getHistoryStore().clean(new NullProgressMonitor());
NullProgressMonitor nullProgressMonitor = new NullProgressMonitor();
IHistoryStore historyStore = ((Workspace) workspace).getFileSystemManager().getHistoryStore();
historyStore.remove(Path.ROOT, nullProgressMonitor);
historyStore.clean(nullProgressMonitor);
}
} catch (Exception e) {
ExceptionHandler.process(e);