diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/NotBlockingAutoUpdatedSnapshot.java b/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/NotBlockingAutoUpdatedSnapshot.java index dbbf2b139..ce246c755 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/NotBlockingAutoUpdatedSnapshot.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/NotBlockingAutoUpdatedSnapshot.java @@ -114,6 +114,8 @@ class NotBlockingAutoUpdatedSnapshot implements IAutoUpdatedSnapshot { newValue)); return newValue; } + LOG.info(name + " the ongoing calculation has not been completed. " + + "Returning previous value"); return previousValue.getValue(); } @@ -121,18 +123,22 @@ class NotBlockingAutoUpdatedSnapshot implements IAutoUpdatedSnapshot { try { return ongoingCalculation.get(); } catch (Exception e) { - LOG.error("error creating new snapshot, keeping old value", - e); + LOG.error("error creating new value for " + name + + ", keeping old value", e); return previousValue.getValue(); } } @Override void cancel() { + if (ongoingCalculation.isDone() || ongoingCalculation.isCancelled()) { + return; + } + LOG.info(name + " cancelling ongoing future"); try { ongoingCalculation.cancel(true); } catch (Exception e) { - LOG.error("error cancelling future", e); + LOG.error("error cancelling future for " + name, e); } } }