]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #18949 from jcsp/wip-luminous-rgw-config-desc
authorYuri Weinstein <yuri.weinstein@gmail.com>
Wed, 31 Jan 2018 00:26:21 +0000 (16:26 -0800)
committerGitHub <noreply@github.com>
Wed, 31 Jan 2018 00:26:21 +0000 (16:26 -0800)
luminous: options.cc: document rgw config options

Reviewed-by: Casey Bodley <cbodley@redhat.com>
1  2 
src/common/legacy_config_opts.h
src/common/options.cc

Simple merge
index ca43ef7b505135df655fc5c6c9edbe28ddb47aca,b10b7e25827e24be938945d01f010b129f64019b..0469939ab737a982c636db64b5a4d9eb613cf452
@@@ -4943,31 -5290,10 +5308,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(""),
      .set_default(512*1024)
      .set_description(""),
  
-     Option("rgw_dynamic_resharding", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
+     Option("rgw_dynamic_resharding", Option::TYPE_BOOL, Option::LEVEL_BASIC)
      .set_default(true)
-     .set_description(""),
+     .set_description("Enable dynamic resharding")
+     .set_long_description(
+         "If true, RGW will dynamicall increase the number of shards in buckets that have "
+         "a high number of objects per shard.")
+     .add_see_also("rgw_max_objs_per_shard"),
  
-     Option("rgw_max_objs_per_shard", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+     Option("rgw_max_objs_per_shard", Option::TYPE_INT, Option::LEVEL_BASIC)
      .set_default(100000)
-     .set_description(""),
+     .set_description("Max objects per shard for dynamic resharding")
+     .set_long_description(
+         "This is the max number of objects per bucket index shard that RGW will "
+         "allow with dynamic resharding. RGW will trigger an automatic reshard operation "
+         "on the bucket if it exceeds this number.")
+     .add_see_also("rgw_dynamic_resharding"),
  
      Option("rgw_reshard_thread_interval", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
-     .set_default(60 * 10)
+     .set_default(10_min)
      .set_description(""),
 +
 +    Option("rgw_cache_expiry_interval", Option::TYPE_UINT,
 +         Option::LEVEL_ADVANCED)
 +    .set_default(900)
 +    .set_description("Number of seconds before entries in the bucket info "
 +                   "cache are assumed stale and re-fetched. Zero is never.")
 +    .add_tag("performance")
 +    .add_service("rgw")
 +    .set_long_description("The Rados Gateway stores metadata about buckets in "
 +                        "an internal cache. This should be kept consistent "
 +                        "by the OSD's relaying notify events between "
 +                        "multiple watching RGW processes. In the event "
 +                        "that this notification protocol fails, bounding "
 +                        "the length of time that any data in the cache will "
 +                        "be assumed valid will ensure that any RGW instance "
 +                        "that falls out of sync will eventually recover. "
 +                        "This seems to be an issue mostly for large numbers "
 +                        "of RGW instances under heavy use. If you would like "
 +                        "to turn off cache expiry, set this value to zero."),
 +
    });
  }