Bug #1897
osd: failed assert assert(src_obc) under rgw workload
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
osd/ReplicatedPG.cc: In function 'int ReplicatedPG::do_osd_ops(ReplicatedPG::OpContext*, std::vector<OSDOp, std::allocator<OSDOp> >&, ceph::bufferlist&)', in thread '7f3ef932d700' osd/ReplicatedPG.cc: 1407: FAILED assert(src_obc) ceph version 0.39-362-g49a96fa (commit:49a96fa739a26c371c4a7fc57ab23b8695aa01bb) 1: (ReplicatedPG::do_osd_ops(ReplicatedPG::OpContext*, std::vector<OSDOp, std::allocator<OSDOp> >&, ceph::buffer::list&)+0xc2d3) [0x5074e3] 2: (ReplicatedPG::prepare_transaction(ReplicatedPG::OpContext*)+0x67) [0x514997] 3: (ReplicatedPG::do_op(MOSDOp*)+0x2ca7) [0x519297] 4: (OSD::dequeue_op(PG*)+0x66c) [0x59dbcc] 5: (OSD::OpWQ::_process(PG*)+0x15) [0x5f5885] 6: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x12) [0x5c9a42] 7: (ThreadPool::worker()+0x7e3) [0x6aa9c3] 8: (ThreadPool::WorkThread::entry()+0x15) [0x5d21b5] 9: (Thread::_entry_func(void*)+0x12) [0x635ac2] 10: (()+0x7971) [0x7f3f089bf971] 11: (clone()+0x6d) [0x7f3f0704a92d] ceph version 0.39-362-g49a96fa (commit:49a96fa739a26c371c4a7fc57ab23b8695aa01bb) 1: (ReplicatedPG::do_osd_ops(ReplicatedPG::OpContext*, std::vector<OSDOp, std::allocator<OSDOp> >&, ceph::buffer::list&)+0xc2d3) [0x5074e3] 2: (ReplicatedPG::prepare_transaction(ReplicatedPG::OpContext*)+0x67) [0x514997] 3: (ReplicatedPG::do_op(MOSDOp*)+0x2ca7) [0x519297] 4: (OSD::dequeue_op(PG*)+0x66c) [0x59dbcc] 5: (OSD::OpWQ::_process(PG*)+0x15) [0x5f5885] 6: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x12) [0x5c9a42] 7: (ThreadPool::worker()+0x7e3) [0x6aa9c3] 8: (ThreadPool::WorkThread::entry()+0x15) [0x5d21b5] 9: (Thread::_entry_func(void*)+0x12) [0x635ac2] 10: (()+0x7971) [0x7f3f089bf971] 11: (clone()+0x6d) [0x7f3f0704a92d]
job:
kernel: sha1: 54d52f7d1eb2ce447dee90f3b34d6b1a0429472c nuke-on-error: true overrides: ceph: btrfs: 1 coverage: true log-whitelist: - clocks not synchronized sha1: 49a96fa739a26c371c4a7fc57ab23b8695aa01bb roles: - - mon.0 - mds.0 - osd.0 - - mon.1 - osd.1 - - mon.2 - client.0 tasks: - chef: null - ceph: null - rgw: - client.0 - s3tests: client.0: rgw_server: client.0
Associated revisions
osd: clean up src_oid, src_obc map key calculation
Be consistent about how we generate the src_oid and src_oloc, so that we
feed good value into find_object_context and use a consistent key for
the src_obc map<>. This fixes a crash in do_osd_ops() due to a missing
src_obc key when the get_src_oloc() normalizes the key in do_op() but not
in do_osd_ops().
Also use a nicer name.
Fixes: #1897
Signed-off-by: Sage Weil <sage@newdream.net>
History
#1 Updated by Sage Weil almost 12 years ago
- translation missing: en.field_position set to 27
#2 Updated by Sage Weil almost 12 years ago
- Status changed from New to Resolved
- Assignee set to Sage Weil