Versioned buckets require more keys per object.
Fixes: https://tracker.ceph.com/issues/68206
Signed-off-by: Mykola Golub <mykola.golub@clyso.com>
(cherry picked from commit
b45f65615d3415b90b48efdb1c4d2c3995316582)
Conflicts:
src/rgw/driver/rados/rgw_rados.cc
src/rgw/driver/rados/rgw_rados.h
src/rgw/driver/rados/rgw_reshard.cc
calculate_preferred_shards() changes from #57538 not on squid
}
uint32_t suggested_num_shards = 0;
- const uint64_t max_objs_per_shard =
+ uint64_t max_objs_per_shard =
cct->_conf.get_val<uint64_t>("rgw_max_objs_per_shard");
+ if (bucket_info.versioning_enabled()) {
+ // Since each versioned bucket requires 4 entries for the first object
+ // and 2 additional entries for each additional object, we want to
+ // trigger resharding sooner.
+ max_objs_per_shard /= 3;
+ }
+
// TODO: consider per-bucket sync policy here?
const bool is_multisite = svc.zone->need_to_log_data();