the data changes log for multisite will occasionally broadcast recent
changes to other zones, which they can use to prioritize sync of some
of the most recent changes. they'll eventually see all changes as they
replay the data changes log, though, so notifications aren't required
for successful sync. the ability to turn them off is useful for testing
Fixes: https://tracker.ceph.com/issues/49723
Signed-off-by: Casey Bodley <cbodley@redhat.com>
type: int
level: advanced
desc: data changes notification interval to followers
+ long_desc: In multisite, radosgw will occasionally broadcast new entries in its
+ data changes log to peer zones, so they can prioritize sync of some
+ of the most recent changes. Can be disabled with 0.
default: 200
services:
- rgw
+ with_legacy: true
- name: rgw_torrent_origin
type: str
level: advanced
type: bool
level: basic
desc: Enable dynamic resharding
- long_desc: If true, RGW will dynamicall increase the number of shards in buckets
+ long_desc: If true, RGW will dynamically increase the number of shards in buckets
that have a high number of objects per shard.
default: true
services:
void RGWDataChangesLog::mark_modified(int shard_id, const rgw_bucket_shard& bs)
{
+ if (!cct->_conf->rgw_data_notify_interval_msec) {
+ return;
+ }
+
auto key = bs.get_key();
{
std::shared_lock rl{modified_lock}; // read lock to check for existence
sync_log_trimmer->start();
}
}
- data_notifier = new RGWDataNotifier(this);
- data_notifier->start();
+ if (cct->_conf->rgw_data_notify_interval_msec) {
+ data_notifier = new RGWDataNotifier(this);
+ data_notifier->start();
+ }
binfo_cache = new RGWChainedCacheImpl<bucket_info_entry>;
binfo_cache->init(svc.cache);