From bd4a74d7998e66bb871f85c8322b30096f662a98 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Mon, 15 Jul 2019 18:27:31 -0700 Subject: [PATCH] pybind/mgr/volumes: print exceptions in purge thread Signed-off-by: Patrick Donnelly (cherry picked from commit ecf85023954f464c328671c897d610c8ebc8c789) --- src/pybind/mgr/volumes/fs/purge_queue.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pybind/mgr/volumes/fs/purge_queue.py b/src/pybind/mgr/volumes/fs/purge_queue.py index 919d87c1737d0..8a7429aa6497d 100644 --- a/src/pybind/mgr/volumes/fs/purge_queue.py +++ b/src/pybind/mgr/volumes/fs/purge_queue.py @@ -1,6 +1,7 @@ import time import logging import threading +import traceback from collections import deque log = logging.getLogger(__name__) @@ -17,7 +18,11 @@ class PurgeQueueBase(object): threading.Thread.__init__(self, name=name) def run(self): - self.purge_fn() + try: + self.purge_fn() + except Exception as e: + trace = "".join(traceback.format_exception(None, e, e.__traceback__)) + log.error("purge queue thread encountered fatal error:\n"+trace) def cancel_job(self): self.cancel_event.set() -- 2.39.5