From 38e85ef8581a190ca292e06aff16a79724712bc6 Mon Sep 17 00:00:00 2001 From: holmbergius Date: Fri, 21 Feb 2025 13:38:56 -0800 Subject: [PATCH] ensure an erroring merge task is fully undone on exception but refresh the Shepherd for the next task to proceed --- .../org/ecocean/scheduled/ScheduledIndividualMerge.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/ecocean/scheduled/ScheduledIndividualMerge.java b/src/main/java/org/ecocean/scheduled/ScheduledIndividualMerge.java index 92559b2b21..7cb853d7d7 100644 --- a/src/main/java/org/ecocean/scheduled/ScheduledIndividualMerge.java +++ b/src/main/java/org/ecocean/scheduled/ScheduledIndividualMerge.java @@ -46,8 +46,12 @@ public ScheduledIndividualMerge(MarkedIndividual primaryIndividual, } catch (Exception e) { this.setTaskIncomplete(); + //rollback this Shepherd to unwind this task and re-open the Shepherd in case it is being reused by a subsequent Task + myShepherd.rollbackDBTransaction(); + myShepherd.beginDBTransaction(); e.printStackTrace(); - } + } + } private void mergeIndividuals(MarkedIndividual primaryIndividual,