James Moger
2014-05-22 889bb73008ba5539edc1b19b678d1e850dc6e56c
Fix cache miss on repository model retrieval
1 files modified
5 ■■■■■ changed files
src/main/java/com/gitblit/manager/RepositoryManager.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/RepositoryManager.java
@@ -684,7 +684,8 @@
        // http://stackoverflow.com/questions/17183110
        repositoryName = repositoryName.replace("%7E", "~").replace("%7e", "~");
        if (!repositoryListCache.containsKey(repositoryName)) {
        String repositoryKey = repositoryName.toLowerCase();
        if (!repositoryListCache.containsKey(repositoryKey)) {
            RepositoryModel model = loadRepositoryModel(repositoryName);
            if (model == null) {
                return null;
@@ -694,7 +695,7 @@
        }
        // cached model
        RepositoryModel model = repositoryListCache.get(repositoryName.toLowerCase());
        RepositoryModel model = repositoryListCache.get(repositoryKey);
        if (gcExecutor.isCollectingGarbage(model.name)) {
            // Gitblit is busy collecting garbage, use our cached model