]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix meta and data notify thread miss stop cr manager 22822/head
authorTianshan Qu <tianshan@xsky.com>
Wed, 20 Jun 2018 01:42:44 +0000 (09:42 +0800)
committerNathan Cutler <ncutler@suse.com>
Tue, 3 Jul 2018 11:02:51 +0000 (13:02 +0200)
rgw restrat or reload will stuck in RGWCompletionManager::get_next()

fixes: http://tracker.ceph.com/issues/24589

Signed-off-by: Tianshan Qu <tianshan@xsky.com>
(cherry picked from commit 52c22fa9c8ba5d782574625e541f9f2f872d2ce5)

src/rgw/rgw_rados.cc

index 100f77a699bc0310cfb1b0684cfd7dc174f9dedf..f07a6248517bc105e067925a06d92875aab295ea 100644 (file)
@@ -3109,6 +3109,9 @@ class RGWMetaNotifier : public RGWRadosThread {
   uint64_t interval_msec() override {
     return cct->_conf->rgw_md_notify_interval_msec;
   }
+  void stop_process() override {
+    notify_mgr.stop();
+  }
 public:
   RGWMetaNotifier(RGWRados *_store, RGWMetadataLog* log)
     : RGWRadosThread(_store, "meta-notifier"), notify_mgr(_store), log(log) {}
@@ -3141,6 +3144,9 @@ class RGWDataNotifier : public RGWRadosThread {
   uint64_t interval_msec() override {
     return cct->_conf->get_val<int64_t>("rgw_data_notify_interval_msec");
   }
+  void stop_process() override {
+    notify_mgr.stop();
+  }
 public:
   RGWDataNotifier(RGWRados *_store) : RGWRadosThread(_store, "data-notifier"), notify_mgr(_store) {}