From: Patrick Donnelly Date: Tue, 16 Jul 2019 01:27:31 +0000 (-0700) Subject: pybind/mgr/volumes: print exceptions in purge thread X-Git-Tag: v14.2.3~168^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bd4a74d7998e66bb871f85c8322b30096f662a98;p=ceph.git pybind/mgr/volumes: print exceptions in purge thread Signed-off-by: Patrick Donnelly (cherry picked from commit ecf85023954f464c328671c897d610c8ebc8c789) --- diff --git a/src/pybind/mgr/volumes/fs/purge_queue.py b/src/pybind/mgr/volumes/fs/purge_queue.py index 919d87c1737d..8a7429aa6497 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()