Skip to content

Commit cc45b84

Browse files
Merge pull request ceph#61742 from anthonyeleven/rgw-inlining
Improve rgw_max_chunk_size descriptions with respect to HEAD inlining
2 parents 22499b6 + 4dbaf64 commit cc45b84

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

doc/radosgw/placement.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ The zone placement configuration can be queried with:
104104
Adding a Placement Target
105105
-------------------------
106106

107-
To create a new placement target named ``temporary``, start by adding it to
107+
To create a new placement target named ``temporary``, add it to
108108
the zonegroup:
109109

110110
::
@@ -124,15 +124,17 @@ Then provide the zone placement info for that target:
124124
--index-pool default.rgw.temporary.index \
125125
--data-extra-pool default.rgw.temporary.non-ec
126126

127-
.. note:: With default placement target settings, RGW stores an object's first data chunk in the RADOS "head" object along
127+
.. note:: With default placement target settings, RGW stores an object's first data chunk in the RADOS `HEAD` object along
128128
with XATTR metadata. The `--placement-inline-data=false` flag may be passed with the `zone placement add` or
129129
`zone placement modify` commands to change this behavior for new objects stored on the target.
130130
When data is stored inline (default), it may provide an advantage for read/write workloads since the first chunk of
131131
an object's data can be retrieved/stored in a single librados call along with object metadata. On the other hand, a
132132
target that does not store data inline can provide a performance benefit for RGW client delete requests when
133133
the BlueStore DB is located on faster storage than bucket data since it eliminates the need to access
134134
slower devices synchronously while processing the client request. In that case, data associated with the deleted
135-
objects is removed asynchronously in the background by garbage collection.
135+
objects is removed asynchronously in the background by garbage collection. Note that inlining is only ever performed
136+
when writing to the default storage class. Inlining is *never* performed when writing to a non-default
137+
storage class.
136138

137139
.. _adding_a_storage_class:
138140

src/common/options/rgw.yaml.in

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,16 @@ options:
8585
type: size
8686
level: advanced
8787
desc: The maximum RGW chunk size.
88-
long_desc: The chunk size is the size of RADOS I/O requests that RGW sends when
89-
accessing data objects. RGW read and write operations will never request more than
90-
this amount in a single request. This also defines the RGW head object size, as
91-
head operations need to be atomic, and anything larger than this would require
92-
more than a single operation. When RGW objects are written to the default
93-
storage class, up to this amount of payload data will be stored alongside
94-
metadata in the head object.
88+
long_desc: The chunk size is the size of requests that RGW sends to
89+
OSDs when accessing RADOS objects. RGW read and write operations will never
90+
request more than this amount in a single request. This also defines the RGW
91+
HEAD object size, as head operations need to be atomic, and anything larger
92+
than this would require more than a single operation. When RGW objects are
93+
written to the default storage class, up to this amount of payload data will
94+
be stored alongside metadata in the head object. Note that when writing
95+
an RGW object to a non-default storage class the HEAD RADOS object is always
96+
stored in the default storage class' pool but no inlining of payload data
97+
is performed.
9598
default: 4_M
9699
services:
97100
- rgw

0 commit comments

Comments
 (0)