Bug #1903
osd/ReplicatedPG.cc: 3189: FAILED assert(obc->unconnected_watchers.size() == 0)
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
OSD
Target version:
-
% Done:
0%
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 'void ReplicatedPG::populate_obc_watchers(ReplicatedPG::ObjectContext*)', in thread '7fd4c5caa700' osd/ReplicatedPG.cc: 3189: FAILED assert(obc->unconnected_watchers.size() == 0) ceph version 0.39-378-ga774d50 (commit:a774d5002132cffb7b408e7de3d75ee841301fbf) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x76) [0x8cf732] 2: (ReplicatedPG::populate_obc_watchers(ReplicatedPG::ObjectContext*)+0x102) [0x77f46a] 3: (ReplicatedPG::finish_degraded_object(hobject_t const&)+0x1e0) [0x78ab28] 4: (ReplicatedPG::sub_op_push_reply(MOSDSubOpReply*)+0xb8e) [0x78a770] 5: (ReplicatedPG::do_sub_op_reply(MOSDSubOpReply*)+0x79) [0x76783b] 6: (OSD::dequeue_op(PG*)+0x3a6) [0x853660] 7: (OSD::OpWQ::_process(PG*)+0x27) [0x85b9f7] 8: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x2e) [0x8a0edc] 9: (ThreadPool::worker()+0x4af) [0x8cc547] 10: (ThreadPool::WorkThread::entry()+0x1c) [0x85a2ea] 11: (Thread::_entry_func(void*)+0x23) [0x8a9311] 12: (()+0x7971) [0x7fd4d533c971] 13: (clone()+0x6d) [0x7fd4d39c792d]
job
kernel: branch: master interactive-on-error: true roles: - - mon.0 - mds.0 - osd.0 - - mon.1 - osd.1 - - mon.2 - client.0 tasks: - ceph: path: /home/sage/src/ceph conf: osd: debug osd: 20 debug ms: 1 - rgw: - client.0 - s3tests: client.0: rgw_server: client.0
after 8 iterations
full osd log is at metropolis:/home/sage/osd.1.unconnected.log
Associated revisions
osd: populate_obc_watchers when object pulled to primary
We don't care about degraded state, only whether the object is on the
primary so that we can load the object_info_t.
In particular, this avoids problems with backfill, where an object is
not degraded and populated, is then degraded while we backfill to the
target, and then not degraded again, and populate_obc_watchers() is called
a second time.
Fixes: #1903
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 1
#2 Updated by Sage Weil almost 12 years ago
- Status changed from New to Resolved
- translation missing: en.field_position deleted (
2) - translation missing: en.field_position set to 2
#3 Updated by Sage Weil almost 12 years ago
- Target version deleted (
v0.41) - translation missing: en.field_position deleted (
2) - translation missing: en.field_position set to 142