From ad273eb002b5d61a5475e700d1298f23ea9780a3 Mon Sep 17 00:00:00 2001 From: Jake Moshenko Date: Tue, 17 Nov 2015 12:23:10 -0500 Subject: [PATCH 1/2] Re-seed crypto random on all forks --- conf/gunicorn_verbs.py | 7 +++++++ conf/gunicorn_web.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/conf/gunicorn_verbs.py b/conf/gunicorn_verbs.py index cbb5e6d6a..ad432ee2a 100644 --- a/conf/gunicorn_verbs.py +++ b/conf/gunicorn_verbs.py @@ -1,6 +1,13 @@ +from Crypto import Random + bind = 'unix:/tmp/gunicorn_verbs.sock' workers = 4 logconfig = 'conf/logging.conf' pythonpath = '.' preload_app = True timeout = 2000 # Because sync workers + +def post_fork(server, worker): + # Reset the Random library to ensure it won't raise the "PID check failed." error after + # gunicorn forks. + Random.atfork() diff --git a/conf/gunicorn_web.py b/conf/gunicorn_web.py index cb9f78d24..b6a5ddbcd 100644 --- a/conf/gunicorn_web.py +++ b/conf/gunicorn_web.py @@ -1,6 +1,13 @@ +from Crypto import Random + bind = 'unix:/tmp/gunicorn_web.sock' workers = 2 worker_class = 'gevent' logconfig = 'conf/logging.conf' pythonpath = '.' preload_app = True + +def post_fork(server, worker): + # Reset the Random library to ensure it won't raise the "PID check failed." error after + # gunicorn forks. + Random.atfork() From ae61ebeac98b2f5ee77cab2bb08e2f1e9093cbbb Mon Sep 17 00:00:00 2001 From: Jake Moshenko Date: Tue, 17 Nov 2015 12:24:05 -0500 Subject: [PATCH 2/2] The translate placements query was renamed in v2 --- data/model/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/model/image.py b/data/model/image.py index 87ae77fc5..d07c56416 100644 --- a/data/model/image.py +++ b/data/model/image.py @@ -418,7 +418,7 @@ def get_image_layers(image): .join(Image) .where(Image.id << image_ids)) - image_list = list(_translate_placements_to_images_with_locations(query)) + image_list = list(invert_placement_query_results(query)) image_list.sort(key=lambda image: image_ids.index(str(image.id))) return image_list