From 6943b1ec257bbc1d82432a9bd3bff8e163d7c24b Mon Sep 17 00:00:00 2001 From: Matt Jia Date: Oct 23 2017 06:02:42 +0000 Subject: use the SHA1 mangler when initializing the cache This will coerces keys into a SHA1 hash so that we can store them into memcached. For example, a key like "greenwave.resources:retrieve_results|{u'item': u'glibc-1.0-1.el7', u'type': u'koji_build'}" will be coerced to "ff9de47a58ea967111b36a5c8a94eab51c4bc4ef". --- diff --git a/greenwave/app_factory.py b/greenwave/app_factory.py index 44b53a4..025a770 100644 --- a/greenwave/app_factory.py +++ b/greenwave/app_factory.py @@ -7,6 +7,7 @@ from greenwave.api_v1 import api from greenwave.utils import json_error, load_config from dogpile.cache import make_region +from dogpile.cache.util import sha1_mangle_key from requests import ConnectionError, Timeout from werkzeug.exceptions import default_exceptions @@ -32,7 +33,7 @@ def create_app(config_obj=None): app.add_url_rule('/healthcheck', view_func=healthcheck) # Initialize the cache. - app.cache = make_region() + app.cache = make_region(key_mangler=sha1_mangle_key) app.cache.configure(**app.config['CACHE']) return app diff --git a/greenwave/consumers/resultsdb.py b/greenwave/consumers/resultsdb.py index 479eb4e..14b19dc 100644 --- a/greenwave/consumers/resultsdb.py +++ b/greenwave/consumers/resultsdb.py @@ -56,7 +56,8 @@ class ResultsDBHandler(fedmsg.consumers.FedmsgConsumer): super(ResultsDBHandler, self).__init__(hub, *args, **kwargs) # Initialize the cache. - self.cache = dogpile.cache.make_region() + self.cache = dogpile.cache.make_region( + key_mangler=dogpile.cache.util.sha1_mangle_key) self.cache.configure(**hub.config['greenwave_cache']) log.info('Greenwave resultsdb handler listening on: %s', self.topic)