Actions
Bug #21844
closedObjecter::C_ObjectOperation_sparse_read throws/catches exceptions on -ENOENT
Status:
Resolved
Priority:
High
Assignee:
Jason Dillaman
Category:
Performance/Resource Usage
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
luminous,jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Running RBD small IO performance tests against a mostly sparse image shows that the Objecter is throwing/catching a buffer decode error. The object doesn't exist so the op failed with -ENOENT, but the sparse_read finisher is still run and attempts to decode an empty bufferlist. This results in a non-negligible amount of CPU being wasted on throwing and immediately catching an exception when instead the decode should never have been attempted since the object didn't exist.
- 14.21% Objecter::handle_osd_op_reply - 7.64% Context::complete - 6.83% ObjectOperation::C_ObjectOperation_sparse_read::finish - 6.15% ceph::buffer::list::iterator_impl<false>::copy - 5.94% __cxa_throw - 5.75% _Unwind_RaiseException
Updated by Jason Dillaman over 6 years ago
- Status changed from New to In Progress
- Assignee set to Jason Dillaman
Updated by Jason Dillaman over 6 years ago
- Status changed from In Progress to Fix Under Review
- Backport set to luminous,jewel
Updated by Sage Weil over 6 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Nathan Cutler over 6 years ago
- Copied to Backport #21922: luminous: Objecter::C_ObjectOperation_sparse_read throws/catches exceptions on -ENOENT added
Updated by Nathan Cutler over 6 years ago
- Copied to Backport #21923: jewel: Objecter::C_ObjectOperation_sparse_read throws/catches exceptions on -ENOENT added
Updated by Nathan Cutler about 6 years ago
- Status changed from Pending Backport to Resolved
Actions