changeset 3759:12ca667b69b6 beta

api: don't report invalidated cache_keys after invalidating a repo The keys are an implementation detail and is never relevant outside RhodeCode internals and should not be leaked.
author Mads Kiilerich <madski@unity3d.com>
date Wed, 03 Apr 2013 15:56:12 +0200
parents d5c684052ea4
children 6302a1423a4e
files docs/api/api.rst rhodecode/controllers/api/api.py rhodecode/model/db.py rhodecode/model/scm.py rhodecode/tests/api/api_base.py
diffstat 5 files changed, 5 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/docs/api/api.rst	Mon Apr 15 20:44:18 2013 +0200
+++ b/docs/api/api.rst	Wed Apr 03 15:56:12 2013 +0200
@@ -171,7 +171,7 @@
 OUTPUT::
 
     id : <id_given_in_input>
-    result : "Cache for repository `<reponame>` was invalidated: invalidated cache keys: <list_of_cache_keys>"
+    result : "Caches of repository `<reponame>`"
     error :  null
 
 lock
--- a/rhodecode/controllers/api/api.py	Mon Apr 15 20:44:18 2013 +0200
+++ b/rhodecode/controllers/api/api.py	Wed Apr 03 15:56:12 2013 +0200
@@ -220,9 +220,8 @@
                 raise JSONRPCError('repository `%s` does not exist' % (repoid))
 
         try:
-            invalidated_keys = ScmModel().mark_for_invalidation(repo.repo_name)
-            return ('Cache for repository `%s` was invalidated: '
-                    'invalidated cache keys: %s' % (repoid, invalidated_keys))
+            ScmModel().mark_for_invalidation(repo.repo_name)
+            return ('Caches of repository `%s` was invalidated' % repoid)
         except Exception:
             log.error(traceback.format_exc())
             raise JSONRPCError(
--- a/rhodecode/model/db.py	Mon Apr 15 20:44:18 2013 +0200
+++ b/rhodecode/model/db.py	Wed Apr 03 15:56:12 2013 +0200
@@ -1857,7 +1857,6 @@
         """
         Mark all caches of a repo as invalid in the database.
         """
-        invalidated_keys = []
         inv_objs = Session().query(cls).filter(cls.cache_args == repo_name).all()
 
         try:
@@ -1865,13 +1864,11 @@
                 log.debug('marking %s key for invalidation based on repo_name=%s'
                           % (inv_obj, safe_str(repo_name)))
                 inv_obj.cache_active = False
-                invalidated_keys.append(inv_obj.cache_key)
                 Session().add(inv_obj)
             Session().commit()
         except Exception:
             log.error(traceback.format_exc())
             Session().rollback()
-        return invalidated_keys
 
     @classmethod
     def set_valid(cls, cache_key):
--- a/rhodecode/model/scm.py	Mon Apr 15 20:44:18 2013 +0200
+++ b/rhodecode/model/scm.py	Wed Apr 03 15:56:12 2013 +0200
@@ -322,11 +322,10 @@
 
         :param repo_name: the repo for which caches should be marked invalid
         """
-        invalidated_keys = CacheInvalidation.set_invalidate(repo_name)
+        CacheInvalidation.set_invalidate(repo_name)
         repo = Repository.get_by_repo_name(repo_name)
         if repo:
             repo.update_changeset_cache()
-        return invalidated_keys
 
     def toggle_following_repo(self, follow_repo_id, user_id):
 
--- a/rhodecode/tests/api/api_base.py	Mon Apr 15 20:44:18 2013 +0200
+++ b/rhodecode/tests/api/api_base.py	Wed Apr 03 15:56:12 2013 +0200
@@ -268,9 +268,7 @@
                                   repoid=self.REPO)
         response = api_call(self, params)
 
-        expected = ("Cache for repository `%s` was invalidated: "
-                    "invalidated cache keys: %s" % (self.REPO,
-                                                    [unicode(self.REPO)]))
+        expected = ("Caches of repository `%s` was invalidated" % (self.REPO))
         self._compare_ok(id_, expected, given=response.body)
 
     @mock.patch.object(ScmModel, 'mark_for_invalidation', crash)