Blob Blame History Raw
From 6943b1ec257bbc1d82432a9bd3bff8e163d7c24b Mon Sep 17 00:00:00 2001
From: Matt Jia <mjia@redhat.com>
Date: Mon, 23 Oct 2017 15:51:59 +1000
Subject: [PATCH] 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".
---
 greenwave/app_factory.py         | 3 ++-
 greenwave/consumers/resultsdb.py | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/greenwave/app_factory.py b/greenwave/app_factory.py
index 44b53a49..025a7703 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 479eb4e1..14b19dc3 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)
-- 
2.13.6