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 <cbodley@redhat.com>
(cherry picked from commit
2d7dd06ccb580471ab63578b0ba8e2d466ab7ec0)
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:
*/
int RGWRados::init_begin(const DoutPrefixProvider *dpp)
{
- int ret;
-
- inject_notify_timeout_probability =
- cct->_conf.get_val<double>("rgw_inject_notify_timeout_probability");
- max_notify_retries = cct->_conf.get_val<uint64_t>("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;
librados::IoCtx root_pool_ctx; // .rgw
- double inject_notify_timeout_probability = 0;
- unsigned max_notify_retries = 0;
-
- friend class RGWWatcher;
-
- ceph::mutex bucket_id_lock = ceph::make_mutex("rados_bucket_id");
+ ceph::mutex bucket_id_lock{ceph::make_mutex("rados_bucket_id")};
// This field represents the number of bucket index object shards
uint32_t bucket_index_max_shards;
return r;
}
+ inject_notify_timeout_probability =
+ cct->_conf.get_val<double>("rgw_inject_notify_timeout_probability");
+ max_notify_retries = cct->_conf.get_val<uint64_t>("rgw_max_notify_retries");
+
control_pool = zone_svc->get_zone_params().control_pool;
int ret = init_watch(dpp, y);
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);