New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rgw: Increase the default number of RGW bucket shards #32660
Conversation
759eac7
to
343fa48
Compare
|
jenkins test make check |
343fa48
to
8fb1302
Compare
|
@ivancich could you please help review this for octopus? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have some suggestions that are more on the nit level. Please consider, but I won't hold up the approval.
| @@ -350,6 +350,7 @@ void usage() | |||
| cout << " set list of zones to sync from\n"; | |||
| cout << " --sync-from-rm=[zone-name][,...]\n"; | |||
| cout << " remove zones from list of zones to sync from\n"; | |||
| cout << " --bucket-index-max-shards override a zone/zonegroup's default bucket index shard count\n"; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this need to indicate that there is a number included in the command-line-argument?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm torn on this. some options do specify that they require a certain argument, and others don't. in this case, it would feel overly verbose and need a line break. and if there is confusion, the error message is pretty clear:
$ radosgw-admin zone modify --bucket-index-max-shards
Option --bucket-index-max-shards requires an argument.
src/rgw/rgw_zone.h
Outdated
| @@ -568,7 +568,7 @@ struct RGWZone { | |||
| bool sync_from_all; | |||
| set<std::string> sync_from; /* list of zones to sync from */ | |||
|
|
|||
| RGWZone() : log_meta(false), log_data(false), read_only(false), bucket_index_max_shards(0), | |||
| RGWZone() : log_meta(false), log_data(false), read_only(false), bucket_index_max_shards(11), | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about making 11 a constexpr?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good point! turning this into a constexpr variable also allows us to document it
| @@ -245,6 +245,7 @@ | |||
| set list of zones to sync from | |||
| --sync-from-rm=[zone-name][,...] | |||
| remove zones from list of zones to sync from | |||
| --bucket-index-max-shards override a zone/zonegroup's default bucket index shard count | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
again, indicate a value is expected
6e80a25
to
af65bf0
Compare
Signed-off-by: Mark Nelson <mnelson@redhat.com> Modified-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
af65bf0
to
f62e89b
Compare
|
http://pulpito.ceph.com/cbodley-2020-02-27_18:44:45-rgw-wip-cbodley-testing-distro-basic-smithi/ i'm seeing a number of s3test failures around listing sharded buckets: i think these are real bugs that we just haven't hit because we always test with num_shards=1 |
I suspect you're right. This area of code has been touched by a number of recent PRs. Would you like me to take a look? |
|
@ivancich i'll take a stab first and keep you posted |
|
i pushed a fix to #33628, and i'll test these two prs together |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
| @@ -0,0 +1 @@ | |||
| .qa/rgw_bucket_sharding | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool!
|
jenkins test make check |
|
http://pulpito.ceph.com/cbodley-2020-02-28_20:21:50-rgw-wip-cbodley-testing-distro-basic-smithi/ some of the many-sharded tests died with osd "out of order op" crashes, but those appear to have been resolved on master with https://tracker.ceph.com/issues/42328 the bucket listing tests are all succeeding now with #33628 |
each zone in the zonegroup has a "bucket_index_max_shards" field, but the only way to change it is by manually editing the json format using
radosgw-admin zonegroup get/setthis change extends the
zone modifyandzonegroup modifycommands to accept the--max-bucket-index-shardsoption to set this field - either for an individual zone, or for all zones in a given zonegroupit also pulls in the change from #30875 to raise its default value to 11