]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
reshard: limiting the number of log to be recorded
authorliangmingyuan <liangmingyuan@baidu.com>
Fri, 26 Jul 2024 08:23:32 +0000 (16:23 +0800)
committerliangmingyuan <liangmingyuan@baidu.com>
Fri, 26 Jul 2024 14:34:23 +0000 (22:34 +0800)
commite2fb2c63ea245031bddf34a26e1cde592932857e
treee8614baf34de392eb7be483aeccad65eca24ad1b
parentcec5e83d8ee54aa43d5de879499e9bc75844cb98
reshard: limiting the number of log to be recorded

When the bucket's index shards are already overloaded,  avoid
adding too many extra keys in the reshard log. Limiting the size
of this reshard log to `rgw_reshardlog_threshold`, if an index
write operation during the logrecord stage would exceed that limit,
returning the ERR_BUSY_RESHARDING error early.

Using the reshardlog_entries in `rgw_bucket_dir_header` to do this,
when writting shards, adding the reshardlog_entries. But not need
to add in deleting, because number of index entries reduce meanwhile.

Signed-off-by: Mingyuan Liang <liangmingyuan@baidu.com>
src/cls/rgw/cls_rgw.cc
src/cls/rgw/cls_rgw_types.cc
src/cls/rgw/cls_rgw_types.h
src/common/options/rgw.yaml.in
src/rgw/driver/rados/rgw_rados.cc
src/rgw/driver/rados/rgw_reshard.cc
src/test/cli/radosgw-admin/help.t
src/test/cls_rgw/test_cls_rgw.cc