From 731c0aafc9291292ca4f544d7eb696b72ac3d25a Mon Sep 17 00:00:00 2001 From: Sriharsha Chintalapani Date: Mon, 8 Jan 2024 18:55:52 -0800 Subject: [PATCH] Fix #11700: While doing recursive delete, check if a previous iteration already deleted the children --- .../src/main/java/org/openmetadata/service/Entity.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java b/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java index 06c821040759..0970e6cbbf1f 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/Entity.java @@ -467,7 +467,12 @@ public static List getEntityTags(String entityType, EntityInterface en public static void deleteEntity( String updatedBy, String entityType, UUID entityId, boolean recursive, boolean hardDelete) { EntityRepository dao = getEntityRepository(entityType); - dao.delete(updatedBy, entityId, recursive, hardDelete); + try { + dao.find(entityId, Include.ALL); + dao.delete(updatedBy, entityId, recursive, hardDelete); + } catch (EntityNotFoundException e) { + LOG.warn("Entity {} is already deleted.", entityId); + } } public static void restoreEntity(String updatedBy, String entityType, UUID entityId) {