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: fix ECANCELED handling in rgw_get_system_obj() #12225
Conversation
there is an accidental submodule change in the pr |
@yehudasa DreamObjects has been running this patch on top of Jewel without the submodule piece for several months now, please included in master & 10.2.7. |
Fixes: http://tracker.ceph.com/issues/17996 Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
@yehudasa ping |
@@ -47,6 +47,11 @@ int rgw_get_system_obj(RGWRados *rgwstore, RGWObjectCtx& obj_ctx, rgw_bucket& bu | |||
int request_len = READ_CHUNK_LEN; | |||
rgw_obj obj(bucket, key); | |||
|
|||
obj_version original_readv; |
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.
-
Let's initialize original_readv.
-
if (!original_readv.empty())) //String is empty=> .empty() return 0
{
string empty; return;
}Just thinking, Why can't we return from
if (objv_tracker && !objv_tracker->read_version.empty()) {
original_readv = objv_tracker->read_version;
<<<<return (value)>>>>
}
This will save processing code inside do-while before rop.read().
@yehudasa ping, please merge! Dreamhost has been running this for many months. |
jenkins test this please |
@oritwas clarification: I'm waiting for it to merge to Jewel |
@robbat2 can you send a PR against jewel? rebasing this one doesn't work. |
Fixes: http://tracker.ceph.com/issues/17996 Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> See-Also: ceph#12225 (comment) (cherry picked from commit d3d64ed)
retest this please. |
this PR does not build |
Fixes: http://tracker.ceph.com/issues/17996