]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #17761 from cbodley/wip-rgw-bilog-trim
authorYuri Weinstein <yuri.weinstein@gmail.com>
Wed, 15 Nov 2017 17:04:50 +0000 (09:04 -0800)
committerGitHub <noreply@github.com>
Wed, 15 Nov 2017 17:04:50 +0000 (09:04 -0800)
rgw multisite: automated trimming for bucket index logs

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
1  2 
src/common/options.cc
src/rgw/rgw_admin.cc
src/rgw/rgw_common.h
src/rgw/rgw_data_sync.cc

index 95a02e88c60fbdd591a1d113726a7a2c77351f6c,0ca816b780b97e7ce16344c9c979b45d11a7ed1b..48f586880818a878c74204881fcf043026fe8683
@@@ -5357,10 -5008,31 +5357,33 @@@ std::vector<Option> get_rgw_options() 
  
      Option("rgw_sync_log_trim_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED)
      .set_default(1200)
 -    .set_description(""),
 +    .set_description("Sync log trim interval")
 +    .set_long_description(
 +        "Time in seconds between attempts to trim sync logs."),
  
+     Option("rgw_sync_log_trim_max_buckets", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+     .set_default(16)
+     .set_description("Maximum number of buckets to trim per interval")
+     .set_long_description("The maximum number of buckets to consider for bucket index log trimming each trim interval, regardless of the number of bucket index shards. Priority is given to buckets with the most sync activity over the last trim interval.")
+     .add_see_also("rgw_sync_log_trim_interval")
+     .add_see_also("rgw_sync_log_trim_min_cold_buckets")
+     .add_see_also("rgw_sync_log_trim_concurrent_buckets"),
+     Option("rgw_sync_log_trim_min_cold_buckets", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+     .set_default(4)
+     .set_description("Minimum number of cold buckets to trim per interval")
+     .set_long_description("Of the `rgw_sync_log_trim_max_buckets` selected for bucket index log trimming each trim interval, at least this many of them must be 'cold' buckets. These buckets are selected in order from the list of all bucket instances, to guarantee that all buckets will be visited eventually.")
+     .add_see_also("rgw_sync_log_trim_interval")
+     .add_see_also("rgw_sync_log_trim_max_buckets")
+     .add_see_also("rgw_sync_log_trim_concurrent_buckets"),
+     Option("rgw_sync_log_trim_concurrent_buckets", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+     .set_default(4)
+     .set_description("Maximum number of buckets to trim in parallel")
+     .add_see_also("rgw_sync_log_trim_interval")
+     .add_see_also("rgw_sync_log_trim_max_buckets")
+     .add_see_also("rgw_sync_log_trim_min_cold_buckets"),
      Option("rgw_sync_data_inject_err_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV)
      .set_default(0)
      .set_description(""),
Simple merge
Simple merge
Simple merge