# HG changeset patch # User Marcin Kuzminski # Date 2018-07-14 16:17:42 # Node ID c633266deaa036ee846093e29608fe186151d507 # Parent 63610fd137c3a58dc42a0a0d4abb0610fef19c82 caches: use new decorator that uses conditional caches skipping dogpile if cache is disabled. diff --git a/rhodecode/apps/repository/views/repo_files.py b/rhodecode/apps/repository/views/repo_files.py --- a/rhodecode/apps/repository/views/repo_files.py +++ b/rhodecode/apps/repository/views/repo_files.py @@ -204,8 +204,8 @@ class RepoFilesView(RepoAppView): cache_namespace_uid = 'cache_repo.{}'.format(repo_id) region = rc_cache.get_or_create_region('cache_repo', cache_namespace_uid) - @region.cache_on_arguments(namespace=cache_namespace_uid, - should_cache_fn=lambda v: cache_on) + @region.conditional_cache_on_arguments(namespace=cache_namespace_uid, + condition=cache_on) def compute_file_tree(repo_id, commit_id, f_path, full_load): log.debug('Generating cached file tree for repo_id: %s, %s, %s', repo_id, commit_id, f_path) @@ -796,8 +796,8 @@ class RepoFilesView(RepoAppView): cache_namespace_uid = 'cache_repo.{}'.format(repo_id) region = rc_cache.get_or_create_region('cache_repo', cache_namespace_uid) - @region.cache_on_arguments(namespace=cache_namespace_uid, - should_cache_fn=lambda v: cache_on) + @region.conditional_cache_on_arguments(namespace=cache_namespace_uid, + condition=cache_on) def compute_file_search(repo_id, commit_id, f_path): log.debug('Generating cached nodelist for repo_id:%s, %s, %s', repo_id, commit_id, f_path) diff --git a/rhodecode/apps/repository/views/repo_summary.py b/rhodecode/apps/repository/views/repo_summary.py --- a/rhodecode/apps/repository/views/repo_summary.py +++ b/rhodecode/apps/repository/views/repo_summary.py @@ -261,8 +261,8 @@ class RepoSummaryView(RepoAppView): cache_namespace_uid = 'cache_repo.{}'.format(repo_id) region = rc_cache.get_or_create_region('cache_repo', cache_namespace_uid) - @region.cache_on_arguments(namespace=cache_namespace_uid, - should_cache_fn=lambda v: cache_on) + @region.conditional_cache_on_arguments(namespace=cache_namespace_uid, + condition=cache_on) def compute_stats(repo_id, commit_id, show_stats): code_stats = {} size = 0 diff --git a/rhodecode/authentication/base.py b/rhodecode/authentication/base.py --- a/rhodecode/authentication/base.py +++ b/rhodecode/authentication/base.py @@ -700,9 +700,9 @@ def authenticate(username, password, env cache_namespace_uid = 'cache_user_auth.{}'.format(user_id) region = rc_cache.get_or_create_region('cache_perms', cache_namespace_uid) - @region.cache_on_arguments(namespace=cache_namespace_uid, - expiration_time=cache_ttl, - should_cache_fn=lambda v: plugin_cache_active) + @region.conditional_cache_on_arguments(namespace=cache_namespace_uid, + expiration_time=cache_ttl, + condition=plugin_cache_active) def compute_auth( cache_name, plugin_name, username, password): diff --git a/rhodecode/lib/auth.py b/rhodecode/lib/auth.py --- a/rhodecode/lib/auth.py +++ b/rhodecode/lib/auth.py @@ -1079,8 +1079,8 @@ class AuthUser(object): cache_namespace_uid = 'cache_user_auth.{}'.format(user_id) region = rc_cache.get_or_create_region('cache_perms', cache_namespace_uid) - @region.cache_on_arguments(namespace=cache_namespace_uid, - should_cache_fn=lambda v: cache_on) + @region.conditional_cache_on_arguments(namespace=cache_namespace_uid, + condition=cache_on) def compute_perm_tree(cache_name, user_id, scope, user_is_admin,user_inherit_default_permissions, explicit, algo, calculate_super_admin): @@ -1277,8 +1277,8 @@ class AuthUser(object): _set = set() if inherit_from_default: - default_ips = UserIpMap.query().filter( - UserIpMap.user == User.get_default_user(cache=True)) + def_user_id = User.get_default_user(cache=True).user_id + default_ips = UserIpMap.query().filter(UserIpMap.user_id == def_user_id) if cache: default_ips = default_ips.options( FromCache("sql_cache_short", "get_user_ips_default")) diff --git a/rhodecode/lib/middleware/simplevcs.py b/rhodecode/lib/middleware/simplevcs.py --- a/rhodecode/lib/middleware/simplevcs.py +++ b/rhodecode/lib/middleware/simplevcs.py @@ -317,9 +317,9 @@ class SimpleVCS(object): cache_namespace_uid = 'cache_user_auth.{}'.format(user_id) region = rc_cache.get_or_create_region('cache_perms', cache_namespace_uid) - @region.cache_on_arguments(namespace=cache_namespace_uid, - expiration_time=cache_ttl, - should_cache_fn=lambda v: plugin_cache_active) + @region.conditional_cache_on_arguments(namespace=cache_namespace_uid, + expiration_time=cache_ttl, + condition=plugin_cache_active) def compute_perm_vcs( cache_name, plugin_id, action, user_id, repo_name, ip_addr): diff --git a/rhodecode/model/settings.py b/rhodecode/model/settings.py --- a/rhodecode/model/settings.py +++ b/rhodecode/model/settings.py @@ -216,7 +216,7 @@ class SettingsModel(BaseModel): def get_all_settings(self, cache=False): region = rc_cache.get_or_create_region('sql_cache_short') - @region.cache_on_arguments(should_cache_fn=lambda v: cache) + @region.conditional_cache_on_arguments(condition=cache) def _get_all_settings(name, key): q = self._get_settings_query() if not q: diff --git a/rhodecode/tests/lib/test_caches.py b/rhodecode/tests/lib/test_caches.py --- a/rhodecode/tests/lib/test_caches.py +++ b/rhodecode/tests/lib/test_caches.py @@ -78,7 +78,7 @@ class TestCaches(object): assert cache_region.backend.list_keys() == [] - @cache_region.cache_on_arguments(expiration_time=5) + @cache_region.conditional_cache_on_arguments(expiration_time=5) def compute(key): return time.time() @@ -94,7 +94,7 @@ class TestCaches(object): cache_region.delete(key) assert cache_region.backend.list_keys() == [] - @cache_region.cache_on_arguments(expiration_time=5) + @cache_region.conditional_cache_on_arguments(expiration_time=5) def compute(key): return time.time()