From 2d7dd06ccb580471ab63578b0ba8e2d466ab7ec0 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 31 Jul 2023 14:29:25 -0400 Subject: [PATCH] rgw: reenable cache notify config variables these config options are meant to control this cache notification behavior, but were never moved from RGWRados into RGWSI_Notify raise the default rgw_max_notify_retries to 10 to match the adjusted value from https://github.com/ceph/ceph/pull/42251 Signed-off-by: Casey Bodley --- src/common/options/rgw.yaml.in | 2 +- src/rgw/driver/rados/rgw_rados.cc | 8 +------- src/rgw/driver/rados/rgw_rados.h | 5 ----- src/rgw/services/svc_notify.cc | 4 ++++ src/rgw/services/svc_notify.h | 2 +- 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/common/options/rgw.yaml.in b/src/common/options/rgw.yaml.in index 9c3c482f2f56c..477fd0529078d 100644 --- a/src/common/options/rgw.yaml.in +++ b/src/common/options/rgw.yaml.in @@ -3258,7 +3258,7 @@ options: is very heavily loaded. Beware that increasing this value may cause some operations to take longer in exceptional cases and thus may, rarely, cause clients to time out. - default: 3 + default: 10 tags: - error recovery services: diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 6804b2819b7ec..f221570211978 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -1351,13 +1351,7 @@ int RGWRados::init_ctl(const DoutPrefixProvider *dpp) */ int RGWRados::init_begin(const DoutPrefixProvider *dpp) { - int ret; - - inject_notify_timeout_probability = - cct->_conf.get_val("rgw_inject_notify_timeout_probability"); - max_notify_retries = cct->_conf.get_val("rgw_max_notify_retries"); - - ret = init_svc(false, dpp); + int ret = init_svc(false, dpp); if (ret < 0) { ldpp_dout(dpp, 0) << "ERROR: failed to init services (ret=" << cpp_strerror(-ret) << ")" << dendl; return ret; diff --git a/src/rgw/driver/rados/rgw_rados.h b/src/rgw/driver/rados/rgw_rados.h index d6300a0023dd7..446df40e4b139 100644 --- a/src/rgw/driver/rados/rgw_rados.h +++ b/src/rgw/driver/rados/rgw_rados.h @@ -390,11 +390,6 @@ class RGWRados librados::IoCtx root_pool_ctx; // .rgw - double inject_notify_timeout_probability{0.0}; - unsigned max_notify_retries{0}; - - friend class RGWWatcher; - ceph::mutex bucket_id_lock{ceph::make_mutex("rados_bucket_id")}; // This field represents the number of bucket index object shards diff --git a/src/rgw/services/svc_notify.cc b/src/rgw/services/svc_notify.cc index b08c17af2dad1..18ba9045217e6 100644 --- a/src/rgw/services/svc_notify.cc +++ b/src/rgw/services/svc_notify.cc @@ -278,6 +278,10 @@ int RGWSI_Notify::do_start(optional_yield y, const DoutPrefixProvider *dpp) return r; } + inject_notify_timeout_probability = + cct->_conf.get_val("rgw_inject_notify_timeout_probability"); + max_notify_retries = cct->_conf.get_val("rgw_max_notify_retries"); + control_pool = zone_svc->get_zone_params().control_pool; int ret = init_watch(dpp, y); diff --git a/src/rgw/services/svc_notify.h b/src/rgw/services/svc_notify.h index 38d2ab50964c5..f7329136ece17 100644 --- a/src/rgw/services/svc_notify.h +++ b/src/rgw/services/svc_notify.h @@ -42,7 +42,7 @@ private: bool enabled{false}; double inject_notify_timeout_probability{0}; - static constexpr unsigned max_notify_retries = 10; + uint64_t max_notify_retries = 10; std::string get_control_oid(int i); RGWSI_RADOS::Obj pick_control_obj(const std::string& key); -- 2.39.5