From 2d50ff9de67e9b7dc15c605fec12c70511912f06 Mon Sep 17 00:00:00 2001 From: Ludovic Claude <ludovic.claude54@gmail.com> Date: Tue, 18 Dec 2018 16:17:18 +0100 Subject: [PATCH] Update woken-messages to 2.8.4 --- pom.xml | 4 ++-- .../hbp/mip/configuration/AkkaConfiguration.java | 14 +++++++++++--- src/main/java/eu/hbp/mip/model/Experiment.java | 5 +++-- src/main/java/eu/hbp/mip/model/MiningQuery.java | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 31aa67151..3ad3b0402 100644 --- a/pom.xml +++ b/pom.xml @@ -47,9 +47,9 @@ <spring-data-jpa.version>1.10.11.RELEASE</spring-data-jpa.version> <spring-boot-starter-actuator.version>1.4.7.RELEASE</spring-boot-starter-actuator.version> <aspectjweaver.version>1.8.9</aspectjweaver.version> - <woken-messages.version>2.8.1</woken-messages.version> + <woken-messages.version>2.8.4</woken-messages.version> <javax-inject.version>1</javax-inject.version> - <akka.version>2.5.18</akka.version> + <akka.version>2.5.19</akka.version> <spring-context.version>4.3.4.RELEASE</spring-context.version> <protobuf-java.version>3.1.0</protobuf-java.version> diff --git a/src/main/java/eu/hbp/mip/configuration/AkkaConfiguration.java b/src/main/java/eu/hbp/mip/configuration/AkkaConfiguration.java index 59375f7ab..d85bf5d3a 100644 --- a/src/main/java/eu/hbp/mip/configuration/AkkaConfiguration.java +++ b/src/main/java/eu/hbp/mip/configuration/AkkaConfiguration.java @@ -90,9 +90,17 @@ class AkkaConfiguration { } } - Runtime.getRuntime().addShutdownHook(new Thread(() -> { - cluster.leave(cluster.selfAddress()); - }) + final Runnable leaveCluster = () -> cluster.leave(cluster.selfAddress()); + actorSystem().registerOnTermination(leaveCluster); + + cluster.registerOnMemberRemoved( () -> { + LOGGER.info("Exiting..."); + cluster.leave(cluster.selfAddress()); + actorSystem().registerOnTermination(() -> System.exit(0)); + actorSystem().terminate(); + }); + + Runtime.getRuntime().addShutdownHook(new Thread(leaveCluster) ); LOGGER.info("Step 3/3: Cluster connected to Woken."); diff --git a/src/main/java/eu/hbp/mip/model/Experiment.java b/src/main/java/eu/hbp/mip/model/Experiment.java index 33d5530a2..5fb1e24a7 100644 --- a/src/main/java/eu/hbp/mip/model/Experiment.java +++ b/src/main/java/eu/hbp/mip/model/Experiment.java @@ -97,7 +97,7 @@ public class Experiment { public ExperimentQuery prepareQuery(String user) { if (model == null || model.getQuery() == null) - return new ExperimentQuery(null, null, null, null, null, Option.empty(), null, null, null, null, null, null); + return new ExperimentQuery(null, null, null, false,null, null, Option.empty(), null, null, null, null, null, null); List<AlgorithmSpec> algorithms = new LinkedList<>(); Type algoList = new TypeToken<LinkedList<eu.hbp.mip.model.Algorithm>>(){}.getType(); @@ -131,7 +131,8 @@ public class Experiment { Option<FilterRule> filters = conv.toFilterRule(filtersJson); UserId userId = new UserId(user); - return new ExperimentQuery(userId, variablesSeq, covariablesSeq, groupingSeq, filters, Option.empty(), + // TODO: covariablesMustExist argument should be set from a user intention? Or maybe automatically selected based on the list of algorithms??? + return new ExperimentQuery(userId, variablesSeq, covariablesSeq, false, groupingSeq, filters, Option.empty(), trainingDatasets, testingDatasets, algorithmsSeq, validationDatasets, validationsSeq, Option.empty()); } diff --git a/src/main/java/eu/hbp/mip/model/MiningQuery.java b/src/main/java/eu/hbp/mip/model/MiningQuery.java index 908ef5219..5ad30ea89 100644 --- a/src/main/java/eu/hbp/mip/model/MiningQuery.java +++ b/src/main/java/eu/hbp/mip/model/MiningQuery.java @@ -106,7 +106,7 @@ public class MiningQuery { Option<FilterRule> filters = conv.toFilterRule(filtersJson); return new ch.chuv.lren.woken.messages.query.MiningQuery(userId, - variablesSeq, covariablesSeq, groupingSeq, filters, Option.empty(), datasets, scalaAlgorithm, Option.empty()); + variablesSeq, covariablesSeq, true, groupingSeq, filters, Option.empty(), datasets, scalaAlgorithm, Option.empty()); } @Override -- GitLab