From 4672bab69a02eac03d388ad58a9556ff7767fb9e Mon Sep 17 00:00:00 2001 From: Daniel Mitterdorfer Date: Thu, 16 Apr 2020 10:41:19 +0200 Subject: [PATCH] Always shutdown worker thread pool With this commit we ensure that the worker's thread pool is always shutdown when its correspdonding actor exits. We also emit an additional log message after the pool has been shutdown to clearly indicate that the actor is exiting now. --- esrally/driver/driver.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/esrally/driver/driver.py b/esrally/driver/driver.py index a179d3988..abf18c73e 100644 --- a/esrally/driver/driver.py +++ b/esrally/driver/driver.py @@ -844,10 +844,11 @@ def receiveMsg_WakeupMessage(self, msg, sender): self.wakeupAfter(datetime.timedelta(seconds=self.wakeup_interval)) def receiveMsg_ActorExitRequest(self, msg, sender): - self.logger.info("Worker[%s] is exiting due to ActorExitRequest.", str(self.worker_id)) + self.logger.info("Worker[%s] has received ActorExitRequest.", str(self.worker_id)) if self.executor_future is not None and self.executor_future.running(): self.cancel.set() - self.pool.shutdown() + self.pool.shutdown() + self.logger.info("Worker[%s] is exiting due to ActorExitRequest.", str(self.worker_id)) def receiveMsg_BenchmarkFailure(self, msg, sender): # sent by our no_retry infrastructure; forward to master