From 3cebaf0bc9175eab9db30b1854477abbb5e2436e Mon Sep 17 00:00:00 2001
From: Bastien Abadie <bastien@nextcairn.com>
Date: Mon, 30 Nov 2020 15:59:51 +0100
Subject: [PATCH] Catch all exceptions while deleting an entity

---
 arkindex/documents/api/entities.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/arkindex/documents/api/entities.py b/arkindex/documents/api/entities.py
index a4bd581e6a..3302fc79c6 100644
--- a/arkindex/documents/api/entities.py
+++ b/arkindex/documents/api/entities.py
@@ -1,3 +1,4 @@
+import logging
 from uuid import UUID
 
 from django.conf import settings
@@ -41,6 +42,8 @@ from arkindex.project.mixins import CorpusACLMixin
 from arkindex.project.permissions import IsVerified
 from arkindex.project.triggers import reindex_start
 
+logger = logging.getLogger(__name__)
+
 
 class CorpusRoles(CorpusACLMixin, ListCreateAPIView):
     """
@@ -104,10 +107,12 @@ class EntityDetails(RetrieveUpdateDestroyAPIView):
             # Try to delete indexed entity if possible
             try:
                 es_entity = ESEntity.get(id=instance.id.hex)
+                es_entity.delete()
             except NotFoundError:
                 pass
-            else:
-                es_entity.delete()
+            except Exception as e:
+                logger.error(f"Failed to delete ES index entity {instance.id}: {e}")
+
         instance.delete()
 
 
-- 
GitLab