-
Notifications
You must be signed in to change notification settings - Fork 6k
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: Add dynamic resharding documentation #15941
rgw: Add dynamic resharding documentation #15941
Conversation
doc/radosgw/dynamicresharding.rst
Outdated
|
||
.. versionadded:: Luminous | ||
|
||
The dynamic resharding feature automatically increase the number of bucket index shards. |
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.
s/increase/increases/
doc/radosgw/dynamicresharding.rst
Outdated
.. versionadded:: Luminous | ||
|
||
The dynamic resharding feature automatically increase the number of bucket index shards. | ||
It is a background process that periodically checks all the buckets and detect buckets require resharding. |
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.
s/require/that require/
doc/radosgw/dynamicresharding.rst
Outdated
:: | ||
# radosgw-admin bucket reshard process | ||
|
||
Cancel bucket resharding |
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.
scheduled? can this cancel a resharding already in progress?
50f1872
to
e97d742
Compare
@mattbenjamin are you ok with the changes |
doc/radosgw/dynamicresharding.rst
Outdated
|
||
The dynamic resharding feature automatically increases the number of bucket index shards. | ||
It is a background process that periodically checks all the buckets and detect buckets that require resharding. | ||
Those bucket are inserted into the resharding queue and will be resharded in the background. |
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.
buckets
doc/radosgw/dynamicresharding.rst
Outdated
|
||
.. versionadded:: Luminous | ||
|
||
The dynamic resharding feature automatically increases the number of bucket index shards. |
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.
Maybe to be more clear we mention dynamic bucket index resharding, though I'm ok either way
doc/radosgw/dynamicresharding.rst
Outdated
List resharding queue | ||
------------------------------ | ||
:: | ||
# radosgw-admon bucket reshard list |
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.
admin
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.
list resharding queue by 'radosgw-admin reshard list'
@oritwas @theanalyst sparse, but lgtm |
jenkins test docs |
e9612b0
to
052bbdf
Compare
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 marked a few minor grammar points, but content-wise, this looks ready to merge.
doc/radosgw/dynamicresharding.rst
Outdated
online bucket resharding. | ||
|
||
Each bucket index shard can handle efficiently up to a threshold of entries, when exceeding this threshold the system | ||
will encounters performance issues. |
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.
if this threshold is exceeded, the system will encounter
doc/radosgw/dynamicresharding.rst
Outdated
|
||
.. versionadded:: Luminous | ||
|
||
A large bucket index can lead to performance problems, in order to address this problem we introduced bucket index 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.
problems. In order
doc/radosgw/dynamicresharding.rst
Outdated
|
||
Each bucket index shard can handle efficiently up to a threshold of entries, when exceeding this threshold the system | ||
will encounters performance issues. | ||
The dynamic resharding feature detects this situation and increase automatically the number of shards used by bucket index, |
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.
the bucket index
doc/radosgw/dynamicresharding.rst
Outdated
Each bucket index shard can handle efficiently up to a threshold of entries, when exceeding this threshold the system | ||
will encounters performance issues. | ||
The dynamic resharding feature detects this situation and increase automatically the number of shards used by bucket index, | ||
resulting in a reduction in number of entries in each bucket index shard. This process is transparent to the user. |
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.
in the
doc/radosgw/dynamicresharding.rst
Outdated
The dynamic resharding feature detects this situation and increase automatically the number of shards used by bucket index, | ||
resulting in a reduction in number of entries in each bucket index shard. This process is transparent to the user. | ||
|
||
The detection process consist of two parts: |
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.
consists
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.
btw, great section
052bbdf
to
5bc9e18
Compare
@mattbenjamin , fixed |
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.
@oritwas see my comments
doc/radosgw/dynamicresharding.rst
Outdated
.. versionadded:: Luminous | ||
|
||
A large bucket index can lead to performance problems. In order to address this problem we introduced bucket index sharding. | ||
Until Luminous changing the number of bucket shards (resharding) required to offline the bucket, from Luminous we support |
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.
s/required to offline the bucket/needed to be done offline
doc/radosgw/dynamicresharding.rst
Outdated
Until Luminous changing the number of bucket shards (resharding) required to offline the bucket, from Luminous we support | ||
online bucket resharding. | ||
|
||
Each bucket index shard can handle efficiently up to a threshold of entries, if this threshold is exceeded the system |
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.
Each bucket index shard can handle its entries efficiently up until reaching a certain threshold number of entries. If this threashold is exceeded, the system could encounter performance issues.
doc/radosgw/dynamicresharding.rst
Outdated
|
||
Each bucket index shard can handle efficiently up to a threshold of entries, if this threshold is exceeded the system | ||
will encounters performance issues. | ||
The dynamic resharding feature detects this situation and increase automatically the number of shards used by the bucket index, |
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.
and increases
doc/radosgw/dynamicresharding.rst
Outdated
resulting in the reduction of the number of entries in each bucket index shard. This process is transparent to the user. | ||
|
||
The detection process consists of two parts: | ||
The first is executed during addition of new objects to the bucket and the second is a background process that periodically scans all the |
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.
The first part happens when new objects are added to the bucket, and the second part is via a background process that periodically scans all the buckets.
doc/radosgw/dynamicresharding.rst
Outdated
|
||
The detection process consists of two parts: | ||
The first is executed during addition of new objects to the bucket and the second is a background process that periodically scans all the | ||
buckets to handler older buckets in the system that are not being updated. |
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.
s/to handler .../This is needed in order to deal with existing buckets that are not being updated.
doc/radosgw/dynamicresharding.rst
Outdated
The detection process consists of two parts: | ||
The first is executed during addition of new objects to the bucket and the second is a background process that periodically scans all the | ||
buckets to handler older buckets in the system that are not being updated. | ||
A bucket that requires resharding is added to the reshard_log queue and will be scheduled to be resharding later. |
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.
s/to be resharding/to be resharded
doc/radosgw/dynamicresharding.rst
Outdated
The first is executed during addition of new objects to the bucket and the second is a background process that periodically scans all the | ||
buckets to handler older buckets in the system that are not being updated. | ||
A bucket that requires resharding is added to the reshard_log queue and will be scheduled to be resharding later. | ||
The reshard threads run in the background and executes the scheduled resharding, one at a time. |
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.
s/executes/execute
doc/radosgw/dynamicresharding.rst
Outdated
|
||
-``rgw_reshard_bucket_lock_duration``: duration of lock on bucket obj during resharding, default: 120 seconds. | ||
|
||
-``rgw_max_objs_per_shard``: Maximal number of objects per bucket index shard, default: 100000 objects. |
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.
s/Maximal/maximum
doc/radosgw/dynamicresharding.rst
Outdated
|
||
Parameters to control the resahrding process in Ceph configuration fie: | ||
|
||
-``rgw_reshard_num_logs``: Number of shards for the resharding log, default: 16 |
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.
s/Number/number
7d4115e
to
2f9348d
Compare
doc/radosgw/dynamicresharding.rst
Outdated
|
||
Each bucket index shard can handle its entries efficiently up until | ||
reaching a certain threshold of entries. If this threshold is exceeded the system | ||
could encounters performance issues. |
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.
s/encounters/encounter/
doc/radosgw/dynamicresharding.rst
Outdated
|
||
A large bucket index can lead to performance problems. In order | ||
to address this problem we introduced bucket index sharding. | ||
Until Luminous changing the number of bucket shards (resharding) |
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.
s/Until Luminous/Until Luminous,/
doc/radosgw/dynamicresharding.rst
Outdated
resulting in the reduction of the number of entries in each bucket index shard. | ||
This process is transparent to the user. | ||
|
||
The detection process consists of two parts: |
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.
This could be automatically enumerated, which would allow you to remove 'first' and 'second':
The detection process consists of:
#. Objects are added to the bucket
#. A background process that periodically scans all the buckets
doc/radosgw/dynamicresharding.rst
Outdated
The detection process consists of two parts: | ||
The first part happens when new objects are added to the bucket, | ||
and the second is via a background process that periodically scans all the buckets. | ||
This is needed in order to deal with exisitng buckets in the system that are not being updated. |
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.
s/exisiting/existing/
doc/radosgw/dynamicresharding.rst
Outdated
The first part happens when new objects are added to the bucket, | ||
and the second is via a background process that periodically scans all the buckets. | ||
This is needed in order to deal with exisitng buckets in the system that are not being updated. | ||
A bucket that requires resharding is added to the reshard_log queue and will be |
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.
Seems like 'reshard_log' could use backticks to be rendered in monospaced fonts, like ``reshard_log
``
doc/radosgw/dynamicresharding.rst
Outdated
|
||
|
||
Admin commands | ||
=============== |
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.
this underline needs to match the length of the title
doc/radosgw/dynamicresharding.rst
Outdated
# radosgw-admin reshard add --bucket <bucket_name> --num-shards <new number of shards> | ||
|
||
List resharding queue | ||
------------------------------ |
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.
this underline needs to match the length of the sub-title
doc/radosgw/dynamicresharding.rst
Outdated
# radosgw-admon reshard list | ||
|
||
Process/Schedule a bucket resharding | ||
----------------------------------------------------- |
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.
same length issue
doc/radosgw/dynamicresharding.rst
Outdated
# radosgw-admin reshard process | ||
|
||
Cancel pending bucket resharding | ||
---------------------------------------------- |
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.
same length issue
doc/radosgw/dynamicresharding.rst
Outdated
|
||
|
||
Manual bucket resharding | ||
------------------------------------ |
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.
same length issue
2d88ae0
to
98d1b29
Compare
@theanalyst @alfredodeza updated |
Until Luminous, changing the number of bucket shards (resharding) | ||
needed to be done offline, from Luminous we support | ||
online bucket resharding. | ||
|
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.
can you add a note here mentioning not to use this in multisite scenarios
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.
right, will add it
71c5abe
to
4f3ab7c
Compare
Fixes: http://tracker.ceph.com/issues/21553 Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Fixes: http://tracker.ceph.com/issues/21553
Signed-off-by: Orit Wasserman owasserm@redhat.com