Bug #7542
closedec misdirected op
0%
Description
OSD recomputes op target based on current OSDMap. With an EC pg, we can get this result:
1) client at map 512 sends an op to osd 3, pg_t 3.9 based on mapping [CRUSH_ITEM_NONE, 2, 3]/3
2) OSD 3 at map 513 remaps op to osd 3, spg_t 3.9s0 based on mapping [3, 2, 3]/3
3) PG 3.9s0 dequeues the op at epoch 512 and notices that it isn't primary -- misdirected op
4) client resends and this time PG 3.9s0 having caught up to 513 gets it and fulfils it
OSD should choose to just drop such ops, the client will resend.
{duration: 6038.68848991394, failure_reason: '"2014-02-25 21:40:13.815205 osd.3 10.214.134.36:6804/59904
54 : [WRN] client.4124 10.214.134.34:0/1035991 misdirected client.4124.0:9995
pg 3.b8daf489 to osd.3 not [2147483647,2,3] in e512/513" in cluster log', flavor: basic,
owner: samuelj@slider, success: false}