changeset 3774:60335b702a00 beta

invalidation: don't create CacheInvalidation records on startup Creating the records early gave an advantage before lightweight was introduced. With lightweight it is no longer necessary. The records will be created on demand anyway and there is no reason to create and maintain them before they are used.
author Mads Kiilerich <madski@unity3d.com>
date Wed, 03 Apr 2013 15:56:12 +0200
parents 8e2cd46f765b
children 371898dc9a91
files rhodecode/controllers/summary.py rhodecode/lib/utils.py rhodecode/tests/api/api_base.py
diffstat 3 files changed, 4 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/summary.py	Wed Apr 03 15:56:12 2013 +0200
+++ b/rhodecode/controllers/summary.py	Wed Apr 03 15:56:12 2013 +0200
@@ -126,7 +126,7 @@
 
         kind = 'README'
         valid = CacheInvalidation.test_and_set_valid(repo_name, kind)
-		if not valid:
+        if not valid:
             region_invalidate(_get_readme_from_cache, None, repo_name, kind)
         return _get_readme_from_cache(repo_name, kind)
 
--- a/rhodecode/lib/utils.py	Wed Apr 03 15:56:12 2013 +0200
+++ b/rhodecode/lib/utils.py	Wed Apr 03 15:56:12 2013 +0200
@@ -472,11 +472,6 @@
         elif install_git_hook:
             if db_repo.repo_type == 'git':
                 ScmModel().install_git_hook(db_repo.scm_instance)
-        # during starting install all cache keys for all repositories in the
-        # system, this will register all repos and multiple instances
-        cache_key = CacheInvalidation._get_cache_key(name)
-        log.debug("Creating invalidation cache key for %s: %s", name, cache_key)
-        CacheInvalidation.test_and_set_valid(name, None)
 
     sa.commit()
     removed = []
--- a/rhodecode/tests/api/api_base.py	Wed Apr 03 15:56:12 2013 +0200
+++ b/rhodecode/tests/api/api_base.py	Wed Apr 03 15:56:12 2013 +0200
@@ -264,6 +264,9 @@
         self._compare_error(id_, expected, given=response.body)
 
     def test_api_invalidate_cache(self):
+        repo = RepoModel().get_by_repo_name(self.REPO)
+        repo.scm_instance_cached() # seed cache
+
         id_, params = _build_data(self.apikey, 'invalidate_cache',
                                   repoid=self.REPO)
         response = api_call(self, params)