diff --git a/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/engine/iterations/handler/NIterativeAlgorithmResultEntity.java b/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/engine/iterations/handler/NIterativeAlgorithmResultEntity.java index 0d4c136c676e30ad05493dab235754d2e52e7604..dde8e356e83e34582efcd9ea93bcd390c9d39e37 100644 --- a/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/engine/iterations/handler/NIterativeAlgorithmResultEntity.java +++ b/Exareme-Docker/src/exareme/exareme-master/src/main/java/madgik/exareme/master/engine/iterations/handler/NIterativeAlgorithmResultEntity.java @@ -99,11 +99,15 @@ public class NIterativeAlgorithmResultEntity extends BasicHttpEntity this.buffer.compact(); if (i < 1 && !buffering) { encoder.complete(); + closeQuery(); + close(); } } else { encoder.write(ByteBuffer.wrap( finalizeQueryStatus.getError().getBytes())); encoder.complete(); + closeQuery(); + close(); } } else { // Algorithm execution failed, notify the client. @@ -164,13 +168,12 @@ public class NIterativeAlgorithmResultEntity extends BasicHttpEntity encoder.write(buffer); this.buffer.compact(); encoder.complete(); + closeQuery(); + close(); } } finally { if (iterativeAlgorithmState != null) iterativeAlgorithmState.releaseLock(); - - closeQuery(); - close(); } }