Merge branch 'stable-2.13'
* stable-2.13: Expose JGit repository cache configuration parameters Change-Id: I20e1b00f06a641d1dc2c59e406b0df8ac9aeba9f
This commit is contained in:
@@ -1412,6 +1412,33 @@ that are merged have more than one common predecessor.
|
|||||||
+
|
+
|
||||||
Default is true.
|
Default is true.
|
||||||
|
|
||||||
|
[[core.repositoryCacheCleanupDelay]]core.repositoryCacheCleanupDelay::
|
||||||
|
+
|
||||||
|
Delay between each periodic cleanup of expired repositories.
|
||||||
|
+
|
||||||
|
Values can be specified using standard time unit abbreviations (`ms`, `sec`,
|
||||||
|
`min`, etc.).
|
||||||
|
+
|
||||||
|
Set it to 0 in order to switch off cache expiration. If cache expiration is
|
||||||
|
switched off, the JVM can still evict cache entries when it is running low
|
||||||
|
on available heap memory.
|
||||||
|
+
|
||||||
|
Set it to -1 to automatically derive cleanup delay from
|
||||||
|
`core.repositoryCacheExpireAfter` (lowest value between 1/10 of
|
||||||
|
`core.repositoryCacheExpireAfter` and 10 minutes).
|
||||||
|
+
|
||||||
|
Default is -1.
|
||||||
|
|
||||||
|
[[core.repositoryCacheExpireAfter]]core.repositoryCacheExpireAfter::
|
||||||
|
+
|
||||||
|
Time an unused repository should expire and be evicted from the repository
|
||||||
|
cache.
|
||||||
|
+
|
||||||
|
Values can be specified using standard time unit abbreviations (`ms`, `sec`,
|
||||||
|
`min`, etc.).
|
||||||
|
+
|
||||||
|
Default is 1 hour.
|
||||||
|
|
||||||
[[database]]
|
[[database]]
|
||||||
=== Section database
|
=== Section database
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.eclipse.jgit.lib.Constants;
|
|||||||
import org.eclipse.jgit.lib.Repository;
|
import org.eclipse.jgit.lib.Repository;
|
||||||
import org.eclipse.jgit.lib.RepositoryCache;
|
import org.eclipse.jgit.lib.RepositoryCache;
|
||||||
import org.eclipse.jgit.lib.RepositoryCache.FileKey;
|
import org.eclipse.jgit.lib.RepositoryCache.FileKey;
|
||||||
|
import org.eclipse.jgit.lib.RepositoryCacheConfig;
|
||||||
import org.eclipse.jgit.lib.StoredConfig;
|
import org.eclipse.jgit.lib.StoredConfig;
|
||||||
import org.eclipse.jgit.storage.file.WindowCacheConfig;
|
import org.eclipse.jgit.storage.file.WindowCacheConfig;
|
||||||
import org.eclipse.jgit.util.FS;
|
import org.eclipse.jgit.util.FS;
|
||||||
@@ -84,6 +85,10 @@ public class LocalDiskRepositoryManager implements GitRepositoryManager,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start() {
|
public void start() {
|
||||||
|
RepositoryCacheConfig repoCacheCfg = new RepositoryCacheConfig();
|
||||||
|
repoCacheCfg.fromConfig(serverConfig);
|
||||||
|
repoCacheCfg.install();
|
||||||
|
|
||||||
WindowCacheConfig cfg = new WindowCacheConfig();
|
WindowCacheConfig cfg = new WindowCacheConfig();
|
||||||
cfg.fromConfig(serverConfig);
|
cfg.fromConfig(serverConfig);
|
||||||
if (serverConfig.getString("core", null, "streamFileThreshold") == null) {
|
if (serverConfig.getString("core", null, "streamFileThreshold") == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user