From f0b2fe893d846f4d41c11d33f3386031684f9d75 Mon Sep 17 00:00:00 2001
From: Nicola Fulvio Calabria <nicola.calabria@inaf.it>
Date: Mon, 12 Apr 2021 16:34:03 +0200
Subject: [PATCH] Urgent bugfix: async methods pull/push in jobservice class
 MUST LEAVE the job phase on EXECUTING

---
 src/main/java/it/inaf/oats/vospace/JobService.java          | 3 ---
 .../java/it/inaf/oats/vospace/TransferControllerTest.java   | 6 +++---
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/main/java/it/inaf/oats/vospace/JobService.java b/src/main/java/it/inaf/oats/vospace/JobService.java
index 2f08d73..1d82eb4 100644
--- a/src/main/java/it/inaf/oats/vospace/JobService.java
+++ b/src/main/java/it/inaf/oats/vospace/JobService.java
@@ -65,12 +65,9 @@ public class JobService {
                     throw new UnsupportedOperationException("Not implemented yet");
             }
 
-            job.setPhase(ExecutionPhase.COMPLETED);
-
         } catch (VoSpaceErrorSummarizableException e) {
             job.setPhase(ExecutionPhase.ERROR);
             job.setErrorSummary(ErrorSummaryFactory.newErrorSummary(e.getFault()));
-        } finally {
             jobDAO.updateJob(job);
         }
     }
diff --git a/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java b/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java
index e59b314..85fce66 100644
--- a/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java
+++ b/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java
@@ -143,9 +143,9 @@ public class TransferControllerTest {
 
         verify(nodeDao, times(1)).setNodeLocation(eq("/portalnode"), eq(2), eq("lbcr.20130512.060722.fits.gz"));
 
-        verify(jobDao, times(2)).updateJob(argThat(j -> {
+        verify(jobDao, times(1)).updateJob(argThat(j -> {
             assertTrue(j.getResults().get(0).getHref().startsWith("http://archive.lbto.org"));
-            assertEquals(ExecutionPhase.COMPLETED, j.getPhase());
+            assertEquals(ExecutionPhase.EXECUTING, j.getPhase());
             return true;
         }));
     }
@@ -187,7 +187,7 @@ public class TransferControllerTest {
                 .andExpect(status().is3xxRedirection())
                 .andReturn().getResponse().getHeader("Location");
 
-        verify(jobDao, times(2)).updateJob(any());
+        verify(jobDao, times(1)).updateJob(any());
 
         assertThat(redirect, matchesPattern("^/transfers/.*"));
     }
-- 
GitLab