From 6f2a6c85c2d4a35f2ee489324117af187e0ea9d5 Mon Sep 17 00:00:00 2001
From: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Mon, 19 Feb 2024 14:41:05 +0100
Subject: [PATCH] Fix crash when memcache server is not available

---
 swh/web/utils/__init__.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/swh/web/utils/__init__.py b/swh/web/utils/__init__.py
index 44c153f6d..df8abfa8e 100644
--- a/swh/web/utils/__init__.py
+++ b/swh/web/utils/__init__.py
@@ -449,6 +449,8 @@ def cache_set(
 
     try:
         cache.set(_compute_final_cache_key(cache_key), payload, timeout=timeout)
+    except (ConnectionError, OSError) as e:
+        sentry_sdk.capture_exception(e)
     except MemcacheServerError as mse:
         sentry_sdk.capture_exception(mse)
 
@@ -469,7 +471,10 @@ def cache_get(
     Returns:
         the cached value or :const:`None` if it does not exist
     """
-    payload = cache.get(_compute_final_cache_key(cache_key))
+    try:
+        payload = cache.get(_compute_final_cache_key(cache_key))
+    except (ConnectionError, OSError) as e:
+        sentry_sdk.capture_exception(e)
     return (
         msgpack_loads(gzip.decompress(payload), extra_decoders=extra_decoders)
         if payload
-- 
GitLab