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: change default chunk size to 4MB #13035

Merged
merged 4 commits into from Feb 7, 2017

Conversation

Projects
None yet
4 participants
@yehudasa
Member

yehudasa commented Jan 20, 2017

  1. Fixes: http://tracker.ceph.com/issues/18621
    change default chunk size to 4MB

  2. Fixes: http://tracker.ceph.com/issues/18622
    optimize first writes on the expense of overwrites

  3. Fixes: http://tracker.ceph.com/issues/18623
    configurable min and max write window sizes.

Signed-off-by: Yehuda Sadeh yehuda@redhat.com

rgw: change default chunk size to 4MB
Fixes: http://tracker.ceph.com/issues/18621

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
RGWPutObjProcessor_Aio(RGWObjectCtx& obj_ctx, RGWBucketInfo& bucket_info) : RGWPutObjProcessor(obj_ctx, bucket_info), max_chunks(RGW_MAX_PENDING_CHUNKS), obj_len(0) {}

This comment has been minimized.

@prallabh

prallabh Jan 22, 2017

Contributor

Should we also remove RGW_MAX_PENDING_CHUNKS from rgw_common.h?

@mattbenjamin

This comment has been minimized.

Contributor

mattbenjamin commented Feb 4, 2017

This passed a short suite run Fri., one test failed due to ntp.
http://pulpito.ceph.com/mbenjamin-2017-02-04_14:08:21-rgw-yehudasa-wip-18621---basic-smithi/

@@ -6424,7 +6435,7 @@ int RGWRados::Object::Write::_do_write_meta(uint64_t size, uint64_t accounted_si
if (r == -EEXIST && assume_noent) {
target->invalidate_state();
}
goto done_cancel;
return r;

This comment has been minimized.

@tianshan

tianshan Feb 6, 2017

Contributor

maybe we still should goto done_cancel if return -ECANCELED or -ENOENT ?

yehudasa added some commits Jan 20, 2017

rgw: configurable write obj window size
Fixes: http://tracker.ceph.com/issues/18623

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
rgw: assume obj write is a first write
if fails and object already exists then retry. This improves first obj
write performance on the expense of overwrites.

Fixes: http://tracker.ceph.com/issues/18622

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
rgw: don't update bucket index multiple times in overwrite
Instead of this for overwrites:
 prepare (index),
   write (head) [-EEXIST]
 cancel (index)
 read (head)
 prepare (index)
   write (head)
 complete (index)

We now do:
 prepare (index),
   write (head) [-EEXIST]
   read (head)
   write (head)
 complete (index)

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
@mattbenjamin

This comment has been minimized.

Contributor

mattbenjamin commented Feb 7, 2017

@yehudasa this run was nearly all green--one dead agent task; I think it's ready

@mattbenjamin

lgtm; all comments addressed; passed it's last teuthology run

@mattbenjamin mattbenjamin merged commit 084ebfc into ceph:master Feb 7, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment