From: James Moger Date: Fri, 29 Nov 2013 17:02:58 +0000 (-0500) Subject: Invalidate all cached repository data on "clear cache" (issue-346) X-Git-Tag: v1.4.0~165 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3811378e0ec542e1ec3139406bbf0fc395e9d3df;p=gitblit.git Invalidate all cached repository data on "clear cache" (issue-346) Change-Id: I14404e38bbc6f5827c430849baf3c13f4df2c6ef --- diff --git a/releases.moxie b/releases.moxie index c2ad4fce..3a1b296c 100644 --- a/releases.moxie +++ b/releases.moxie @@ -13,6 +13,7 @@ r20: { - Fixed support for implied SSH urls in web.otherUrls (issue-311) - Bind LDAP connection after establishing TLS initialization (issue-343) - Fixed NPE when attempting to add a permission without a registrant (issue-344) + - Invalidate all cached repository data on "clear cache" (issue-346) - Fix potential NPE on removing uncached repository from cache - Ignore the default contents of .git/description file - Fix error on generating activity page when there is no activity diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java index 438d885c..0a3f6631 100644 --- a/src/main/java/com/gitblit/manager/RepositoryManager.java +++ b/src/main/java/com/gitblit/manager/RepositoryManager.java @@ -457,6 +457,8 @@ public class RepositoryManager implements IRepositoryManager { public void resetRepositoryListCache() { logger.info("Repository cache manually reset"); repositoryListCache.clear(); + repositorySizeCache.clear(); + repositoryMetricsCache.clear(); } /** diff --git a/src/main/java/com/gitblit/utils/ObjectCache.java b/src/main/java/com/gitblit/utils/ObjectCache.java index 48a9668d..e75d4b86 100644 --- a/src/main/java/com/gitblit/utils/ObjectCache.java +++ b/src/main/java/com/gitblit/utils/ObjectCache.java @@ -54,6 +54,10 @@ public class ObjectCache implements Serializable { } } + public void clear() { + cache.clear(); + } + public boolean hasCurrent(String name, Date date) { return cache.containsKey(name) && cache.get(name).date.compareTo(date) == 0; }