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/rgw_rados: do not omap_getvals with (u64)-1 max (updated) #12224
Conversation
f3ad8a0
to
d771838
Compare
Fixes: http://tracker.ceph.com/issues/17985 This will make the OSD fall over if the object is big and the OSD doesn't impose it's own fail-safe limit. Signed-off-by: Sage Weil <sage@redhat.com>
if (r < 0) { | ||
return r; | ||
} | ||
if (t.empty()) { | ||
break; | ||
} | ||
done = (t.size() < 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.
It's possible for the OSD to return fewer entries and not be at the end.
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.
(For example, there is a now an omap get limit that's enforced at the osd to work around client code like this)
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.
@liewegas in that case, we need to have omap_getvals() to also return is_truncated
d771838
to
99e866f
Compare
@liewegas updated |
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
jenkins test this please (https://jenkins.ceph.com/job/ceph-pull-requests/15081/console fails readable.sh) |
jenkins test this please (osd-crush.sh) |
passed my teuthology run |
Fixes: http://tracker.ceph.com/issues/17985