Milimetric has submitted this change and it was merged.

Change subject: Make sure that a lock is always released.
......................................................................


Make sure that a lock is always released.

Change-Id: Ifbd7972a738381d23d23a62cd645a7c25b8f32df
---
M user_metrics/api/engine/request_manager.py
1 file changed, 21 insertions(+), 10 deletions(-)

Approvals:
  Milimetric: Verified; Looks good to me, approved



diff --git a/user_metrics/api/engine/request_manager.py 
b/user_metrics/api/engine/request_manager.py
index cd421fa..205c661 100644
--- a/user_metrics/api/engine/request_manager.py
+++ b/user_metrics/api/engine/request_manager.py
@@ -615,8 +615,9 @@
     except Empty:
         logging.error(__name__ + ' :: req_cb_get_url -'
                                  ' Block time expired.')
-        return ''
-    lock.release()
+        val = ''
+    finally:
+        lock.release()
     return val
 
 
@@ -629,8 +630,9 @@
     except Empty:
         logging.error(__name__ + ' :: req_cb_get_cache_keys -'
                                  ' Block time expired.')
-        return []
-    lock.release()
+        val = []
+    finally:
+        lock.release()
     return val
 
 
@@ -643,18 +645,27 @@
     except Empty:
         logging.error(__name__ + ' :: req_cb_get_is_running -'
                                  ' Block time expired.')
-        return False
-    lock.release()
+        val = False
+    finally:
+        lock.release()
     return val
 
 
 def req_cb_add_req(key, url, lock):
     lock.acquire()
-    req_notification_queue_in.put([0, key, url])
-    lock.release()
+    try:
+        req_notification_queue_in.put([0, key, url])
+    except:
+        pass
+    finally:
+        lock.release()
 
 
 def req_cb_flag_job_complete(key, lock):
     lock.acquire()
-    req_notification_queue_in.put([1, key], True)
-    lock.release()
\ No newline at end of file
+    try:
+        req_notification_queue_in.put([1, key], True)
+    except:
+        pass
+    finally:
+        lock.release()

-- 
To view, visit https://gerrit.wikimedia.org/r/59842
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifbd7972a738381d23d23a62cd645a7c25b8f32df
Gerrit-PatchSet: 2
Gerrit-Project: analytics/E3Analysis
Gerrit-Branch: master
Gerrit-Owner: Diederik <[email protected]>
Gerrit-Reviewer: Milimetric <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to