From d4b95298902c8cea1411fc696ed80028b6091aa7 Mon Sep 17 00:00:00 2001
From: Rafael Cavazin <rafaelcavazin@gmail.com>
Date: Thu, 06 Dec 2012 11:25:01 -0500
Subject: [PATCH] Update from upstream/master
---
src/com/gitblit/GCExecutor.java | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/com/gitblit/GCExecutor.java b/src/com/gitblit/GCExecutor.java
index c5fe43b..312baf5 100644
--- a/src/com/gitblit/GCExecutor.java
+++ b/src/com/gitblit/GCExecutor.java
@@ -33,7 +33,6 @@
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.FileUtils;
-import com.gitblit.utils.TimeUtils;
/**
* The GC executor handles periodic garbage collection in repositories.
@@ -54,6 +53,8 @@
private final IStoredSettings settings;
+ private AtomicBoolean running = new AtomicBoolean(false);
+
private AtomicBoolean forceClose = new AtomicBoolean(false);
private final Map<String, GCStatus> gcCache = new ConcurrentHashMap<String, GCStatus>();
@@ -69,6 +70,10 @@
*/
public boolean isReady() {
return settings.getBoolean(Keys.git.enableGarbageCollection, false);
+ }
+
+ public boolean isRunning() {
+ return running.get();
}
public boolean lock(String repositoryName) {
@@ -122,6 +127,8 @@
if (!isReady()) {
return;
}
+
+ running.set(true);
Date now = new Date();
for (String repositoryName : GitBlit.self().getRepositoryList()) {
@@ -162,14 +169,13 @@
RepoStatistics stats = gc.getStatistics();
// determine if this is a scheduled GC
- int gcPeriodInDays = TimeUtils.convertFrequencyToMinutes(model.gcPeriod)/(60*24);
Calendar cal = Calendar.getInstance();
cal.setTime(model.lastGC);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
- cal.add(Calendar.DATE, gcPeriodInDays);
+ cal.add(Calendar.DATE, model.gcPeriod);
Date gcDate = cal.getTime();
boolean shouldCollectGarbage = now.after(gcDate);
@@ -207,6 +213,8 @@
logger.debug(MessageFormat.format("GCExecutor released GC lock for {0}", repositoryName));
}
}
+
+ running.set(false);
}
private boolean isRepositoryIdle(FileRepository repository) {
--
Gitblit v1.9.1