Bug #9835
closedosd: bug in misdirected op checks (firefly)
0%
Description
ubuntu@teuthology:/var/lib/teuthworker/archive/teuthology-2014-10-18_19:22:02-upgrade:firefly-x-giant-distro-basic-multi/556732
pg 3.cs0 maps to [-1,3,2] momentarily, and we get an op. firefly says
2014-10-20 04:02:08.246434 7f0d9f7f7700 7 osd.3 74 hit non-existent pg 3.cs0
2014-10-20 04:02:08.246441 7f0d9f7f7700 7 osd.3 74 we are valid target for op, waiting
because
if (osdmap->get_pg_acting_role(pgid.pgid, whoami) >= 0) { dout(7) << "we are valid target for op, waiting" << dendl; waiting_for_pg[pgid].push_back(op); op->mark_delayed("waiting for pg to exist locally"); return; }
but then the op never goes away because the pg never does get created on this node. this code is
all refactored in giant so the same problem doesn't exist there.
Updated by Greg Farnum over 9 years ago
Maybe we need to adjust how we're handling waiting_for_pg, but I don't think that this particular check is a bug — this is an op that can be legitimately targeted at us (we're a replica, and we allow replica ops), but we don't have the PG. So we have to wait for it.
Updated by Sage Weil over 9 years ago
- Subject changed from osd: bug in misdirected op checks to osd: bug in misdirected op checks (firefly)
- Status changed from New to Fix Under Review
Updated by Sage Weil over 9 years ago
- Status changed from Fix Under Review to Resolved