From 59145491242ef9dd9297c4761a9fd953f28a0bad Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Wed, 18 Jan 2023 14:28:17 -0600 Subject: [PATCH] replace missing cancelation for shutdown hook --- .../nosqlbench/engine/core/lifecycle/scenario/Scenario.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java index 8bed38329..17a9203e2 100644 --- a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java +++ b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java @@ -278,6 +278,7 @@ public class Scenario implements Callable { Runtime.getRuntime().removeShutdownHook(scenarioShutdownHook); scenarioShutdownHook.run(); + scenarioShutdownHook = null; } public void notifyException(Thread t, Throwable e) { @@ -339,7 +340,7 @@ public class Scenario implements Callable { } } - public void finish() { + public synchronized void finish() { logger.debug("finishing scenario"); endedAtMillis = System.currentTimeMillis(); //TODO: Make only one endedAtMillis assignment if (this.state == State.Running) { @@ -351,6 +352,8 @@ public class Scenario implements Callable { // that the scenario was ended before the hook was uninstalled normally. this.state = State.Interrupted; logger.warn("Scenario was interrupted by process exit, shutting down"); + } else { + logger.info("Scenario completed successfully, with " + scenarioController.getActivityExecutorMap().size() + " logical activities."); } logger.info(() -> "scenario state: " + this.state);