]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/volumes: print exceptions in purge thread
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 16 Jul 2019 01:27:31 +0000 (18:27 -0700)
committerRamana Raja <rraja@redhat.com>
Wed, 17 Jul 2019 10:07:37 +0000 (15:37 +0530)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit ecf85023954f464c328671c897d610c8ebc8c789)

src/pybind/mgr/volumes/fs/purge_queue.py

index 919d87c1737d0734f3ffd8b3b75d1e9ff8bd1273..8a7429aa6497dcdf19e141665930f27a7d692c61 100644 (file)
@@ -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()