]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix meta and data notify thread miss stop cr manager 22631/head
authorTianshan Qu <tianshan@xsky.com>
Wed, 20 Jun 2018 01:42:44 +0000 (09:42 +0800)
committerTianshan Qu <tianshan@xsky.com>
Wed, 20 Jun 2018 01:45:39 +0000 (09:45 +0800)
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>
src/rgw/rgw_rados.cc

index 767196612753a760ac5cc24446a33124c25b305e..a2a21d980060bb2788611d086cfa321401b9d316 100644 (file)
@@ -3141,6 +3141,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) {}
@@ -3173,6 +3176,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) {}