From: Casey Bodley Date: Mon, 27 Aug 2018 23:42:01 +0000 (-0400) Subject: rgw: RGWDataSyncStatusManager implements DoutPrefixProvider X-Git-Tag: v14.0.1~222^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=276696b9016f2db7598fb3c6899ce187b5fb39b2;p=ceph.git rgw: RGWDataSyncStatusManager implements DoutPrefixProvider and passes its pointer to RGWRemoteDataLog Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 3c24daa330247..789161af728ba 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -630,11 +630,11 @@ int RGWRemoteDataLog::read_log_info(rgw_datalog_info *log_info) int ret = sync_env.conn->get_json_resource("/admin/log", pairs, *log_info); if (ret < 0) { - ldout(store->ctx(), 0) << "ERROR: failed to fetch datalog info" << dendl; + ldpp_dout(dpp, 0) << "ERROR: failed to fetch datalog info" << dendl; return ret; } - ldout(store->ctx(), 20) << "remote datalog, num_shards=" << log_info->num_shards << dendl; + ldpp_dout(dpp, 20) << "remote datalog, num_shards=" << log_info->num_shards << dendl; return 0; } @@ -667,7 +667,7 @@ int RGWRemoteDataLog::init(const string& _source_zone, RGWRESTConn *_conn, RGWSy int ret = http_manager.start(); if (ret < 0) { - ldout(store->ctx(), 0) << "failed in http_manager.start() ret=" << ret << dendl; + ldpp_dout(dpp, 0) << "failed in http_manager.start() ret=" << ret << dendl; return ret; } @@ -690,7 +690,7 @@ int RGWRemoteDataLog::read_sync_status(rgw_data_sync_status *sync_status) RGWHTTPManager http_manager(store->ctx(), crs.get_completion_mgr()); int ret = http_manager.start(); if (ret < 0) { - ldout(store->ctx(), 0) << "failed in http_manager.start() ret=" << ret << dendl; + ldpp_dout(dpp, 0) << "failed in http_manager.start() ret=" << ret << dendl; return ret; } RGWDataSyncEnv sync_env_local = sync_env; @@ -707,7 +707,7 @@ int RGWRemoteDataLog::read_recovering_shards(const int num_shards, set& rec RGWHTTPManager http_manager(store->ctx(), crs.get_completion_mgr()); int ret = http_manager.start(); if (ret < 0) { - ldout(store->ctx(), 0) << "failed in http_manager.start() ret=" << ret << dendl; + ldpp_dout(dpp, 0) << "failed in http_manager.start() ret=" << ret << dendl; return ret; } RGWDataSyncEnv sync_env_local = sync_env; @@ -738,7 +738,7 @@ int RGWRemoteDataLog::init_sync_status(int num_shards) RGWHTTPManager http_manager(store->ctx(), crs.get_completion_mgr()); int ret = http_manager.start(); if (ret < 0) { - ldout(store->ctx(), 0) << "failed in http_manager.start() ret=" << ret << dendl; + ldpp_dout(dpp, 0) << "failed in http_manager.start() ret=" << ret << dendl; return ret; } RGWDataSyncEnv sync_env_local = sync_env; @@ -1798,7 +1798,7 @@ int RGWRemoteDataLog::run_sync(int num_shards) lock.unlock(); if (r < 0) { - ldout(store->ctx(), 0) << "ERROR: failed to run sync" << dendl; + ldpp_dout(dpp, 0) << "ERROR: failed to run sync" << dendl; return r; } return 0; @@ -1808,7 +1808,7 @@ int RGWDataSyncStatusManager::init() { auto zone_def_iter = store->zone_by_id.find(source_zone); if (zone_def_iter == store->zone_by_id.end()) { - ldout(store->ctx(), 0) << "ERROR: failed to find zone config info for zone=" << source_zone << dendl; + ldpp_dout(this, 0) << "ERROR: failed to find zone config info for zone=" << source_zone << dendl; return -EIO; } @@ -1826,7 +1826,7 @@ int RGWDataSyncStatusManager::init() conn = store->get_zone_conn_by_id(source_zone); if (!conn) { - ldout(store->ctx(), 0) << "connection object to zone " << source_zone << " does not exist" << dendl; + ldpp_dout(this, 0) << "connection object to zone " << source_zone << " does not exist" << dendl; return -EINVAL; } @@ -1834,7 +1834,7 @@ int RGWDataSyncStatusManager::init() int r = source_log.init(source_zone, conn, error_logger, store->get_sync_tracer(), sync_module); if (r < 0) { - lderr(store->ctx()) << "ERROR: failed to init remote log, r=" << r << dendl; + ldpp_dout(this, 0) << "ERROR: failed to init remote log, r=" << r << dendl; finalize(); return r; } @@ -1842,7 +1842,7 @@ int RGWDataSyncStatusManager::init() rgw_datalog_info datalog_info; r = source_log.read_log_info(&datalog_info); if (r < 0) { - ldout(store->ctx(), 5) << "ERROR: master.read_log_info() returned r=" << r << dendl; + ldpp_dout(this, 5) << "ERROR: master.read_log_info() returned r=" << r << dendl; finalize(); return r; } @@ -1862,6 +1862,17 @@ void RGWDataSyncStatusManager::finalize() error_logger = nullptr; } +unsigned RGWDataSyncStatusManager::get_subsys() const +{ + return dout_subsys; +} + +std::ostream& RGWDataSyncStatusManager::gen_prefix(std::ostream& out) const +{ + auto zone = std::string_view{source_zone}; + return out << "data sync zone:" << zone.substr(0, 8) << ' '; +} + string RGWDataSyncStatusManager::sync_status_oid(const string& source_zone) { char buf[datalog_sync_status_oid_prefix.size() + source_zone.size() + 16]; @@ -2222,7 +2233,7 @@ int RGWRemoteDataLog::read_shard_status(int shard_id, set& pending_bucke RGWHTTPManager http_manager(store->ctx(), crs.get_completion_mgr()); int ret = http_manager.start(); if (ret < 0) { - ldout(store->ctx(), 0) << "failed in http_manager.start() ret=" << ret << dendl; + ldpp_dout(dpp, 0) << "failed in http_manager.start() ret=" << ret << dendl; return ret; } RGWDataSyncEnv sync_env_local = sync_env; diff --git a/src/rgw/rgw_data_sync.h b/src/rgw/rgw_data_sync.h index d5d2e3534da8c..5d8f58986011b 100644 --- a/src/rgw/rgw_data_sync.h +++ b/src/rgw/rgw_data_sync.h @@ -269,6 +269,7 @@ struct RGWDataSyncEnv { }; class RGWRemoteDataLog : public RGWCoroutinesManager { + const DoutPrefixProvider *dpp; RGWRados *store; RGWAsyncRadosProcessor *async_rados; rgw::BucketChangeObserver *observer; @@ -284,10 +285,11 @@ class RGWRemoteDataLog : public RGWCoroutinesManager { bool initialized; public: - RGWRemoteDataLog(RGWRados *_store, RGWAsyncRadosProcessor *async_rados, + RGWRemoteDataLog(const DoutPrefixProvider *dpp, RGWRados *_store, + RGWAsyncRadosProcessor *async_rados, rgw::BucketChangeObserver *observer) : RGWCoroutinesManager(_store->ctx(), _store->get_cr_registry()), - store(_store), async_rados(async_rados), observer(observer), + dpp(dpp), store(_store), async_rados(async_rados), observer(observer), http_manager(store->ctx(), completion_mgr), lock("RGWRemoteDataLog::lock"), data_sync_cr(NULL), initialized(false) {} @@ -307,7 +309,7 @@ public: void wakeup(int shard_id, set& keys); }; -class RGWDataSyncStatusManager { +class RGWDataSyncStatusManager : public DoutPrefixProvider { RGWRados *store; rgw_rados_ref ref; @@ -331,13 +333,13 @@ public: rgw::BucketChangeObserver *observer = nullptr) : store(_store), source_zone(_source_zone), conn(NULL), error_logger(NULL), sync_module(nullptr), - source_log(store, async_rados, observer), num_shards(0) {} + source_log(this, store, async_rados, observer), num_shards(0) {} RGWDataSyncStatusManager(RGWRados *_store, RGWAsyncRadosProcessor *async_rados, const string& _source_zone, const RGWSyncModuleInstanceRef& _sync_module, rgw::BucketChangeObserver *observer = nullptr) : store(_store), source_zone(_source_zone), conn(NULL), error_logger(NULL), sync_module(_sync_module), - source_log(store, async_rados, observer), num_shards(0) {} + source_log(this, store, async_rados, observer), num_shards(0) {} ~RGWDataSyncStatusManager() { finalize(); } @@ -376,6 +378,11 @@ public: void stop() { source_log.finish(); } + + // implements DoutPrefixProvider + CephContext *get_cct() const override { return store->ctx(); } + unsigned get_subsys() const override; + std::ostream& gen_prefix(std::ostream& out) const override; }; class RGWBucketSyncStatusManager;