From 49ba5c7fa2d0558fc406f54b4d286c05c3319898 Mon Sep 17 00:00:00 2001 From: HARPER Jon Date: Fri, 16 Jan 2026 09:02:28 +0100 Subject: [PATCH] SensitivityAnalysisWorkerServic, add a sleep during writer finish poll to avoid 100%cpu This runs for about 5s at 100% during normal a big analysis. --- .../server/service/SensitivityAnalysisWorkerService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java b/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java index a466719e..827c41b5 100644 --- a/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java +++ b/src/main/java/org/gridsuite/sensitivityanalysis/server/service/SensitivityAnalysisWorkerService.java @@ -149,8 +149,12 @@ protected CompletableFuture getCompletableFuture(SensitivityAnalysisRun runContext.getReportNode()) .whenComplete((unused1, unused2) -> writer.setQueueProducerFinished()) .thenApply(unused -> { - while (!writer.isConsumerFinished()) { - // Nothing to do + try { + while (!writer.isConsumerFinished()) { + Thread.sleep(100); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } writer.interrupt(); // used to check if result is not null