Bug #13491
misdirected op in rbd balance-reads test
0%
Description
http://pulpito.ceph.com/teuthology-2015-10-09_23:00:08-rbd-master---basic-multi/1098381/
and
http://pulpito.ceph.com/teuthology-2015-10-09_23:00:08-rbd-master---basic-multi/1098361/
The osd claims the op is misdirected, but it has the balance_reads flag set:
2015-10-11 14:11:04.134285 7fb57494d700 1 -- 10.214.132.2:6800/4304 <== client.4113 10.214.132.2:0/3866068683 10 ==== osd_op(client .4113.-1626903672:10 @0 [] 0.dca2e5f1 ack+read+balance_reads+known_if_redirected e5) v7 ==== 224+0+0 (2777407284 0 0) 0x7fb59f26bf40 con 0x7fb59f3a11e0 2015-10-11 14:11:04.134350 7fb57494d700 20 osd.0 5 should_share_map client.4113 10.214.132.2:0/3866068683 5 2015-10-11 14:11:04.134367 7fb57494d700 15 osd.0 5 enqueue_op 0x7fb59ed42f00 prio 63 cost 0 latency 0.000115 osd_op(client.4113.-162 6903672:10 @0 [] 0.dca2e5f1 ack+read+balance_reads+known_if_redirected e5) v7 2015-10-11 14:11:04.134444 7fb57c466700 10 osd.0 5 dequeue_op 0x7fb59ed42f00 prio 63 cost 0 latency 0.000191 osd_op(client.4113.-162 6903672:10 @0 [] 0.dca2e5f1 ack+read+balance_reads+known_if_redirected e5) v7 pg pg[0.1( empty local-les=4 n=0 ec=1 les/c/f 4/4/0 3/ 3/3) [1,0] r=1 lpr=4 pi=1-2/1 crt=0'0 active] 2015-10-11 14:11:04.134490 7fb57c466700 7 osd.0 5 pg[0.1( empty local-les=4 n=0 ec=1 les/c/f 4/4/0 3/3/3) [1,0] r=1 lpr=4 pi=1-2/1 crt=0'0 active] misdirected op in 5 2015-10-11 14:11:04.134525 7fb57c466700 0 log_channel(cluster) log [WRN] : client.4113 10.214.132.2:0/3866068683 misdirected client .4113.-1626903672:10 pg 0.dca2e5f1 to osd.0 not [1,0] in e5/5 2015-10-11 14:11:04.134535 7fb57c466700 1 -- 10.214.132.2:6800/4304 --> 10.214.132.2:0/3866068683 -- osd_op_reply(10 [] v0'0 uv0 a ck = -6 ((6) No such device or address)) v6 -- ?+0 0x7fb59f269080 con 0x7fb59f3a11e0
Related issues
Associated revisions
osd: move misdirected op check from OSD thread to PG thread
The op message isn't fully decoded until after the start of the PG
op handling. Therefore, checking for misdirected ops needs to wait
until after the RWM flags have been initialized.
Fixes: #13491
Backport: infernalis
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
osd: move misdirected op check from OSD thread to PG thread
The op message isn't fully decoded until after the start of the PG
op handling. Therefore, checking for misdirected ops needs to wait
until after the RWM flags have been initialized.
Fixes: #13491
Backport: infernalis
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 56ba90f5e49d499ea9f6bda9665031ce90abdc32)
Conflicts:
src/osd/ReplicatedPG.cc
In ReplicatedPG::do_op, resolved conflicts caused by afcfb050930e2e4086d631119022fd2dee9feb21 and 818d790f7d424520bc96c651571f2c86e94caf1e
History
#1 Updated by Jason Dillaman over 8 years ago
- Status changed from New to In Progress
#2 Updated by Jason Dillaman over 8 years ago
master PR: https://github.com/ceph/ceph/pull/6364
#3 Updated by Jason Dillaman over 8 years ago
- Status changed from In Progress to Fix Under Review
#4 Updated by Jason Dillaman over 8 years ago
- Backport set to infernalis
#5 Updated by Sage Weil over 8 years ago
- Status changed from Fix Under Review to Pending Backport
#6 Updated by Nathan Cutler over 8 years ago
- Copied to Backport #13733: misdirected op in rbd balance-reads test added
#7 Updated by Nathan Cutler about 8 years ago
- Status changed from Pending Backport to Resolved