Bug #9079
osd: bad learned_addr during send_boot
% Done:
0%
Source:
Q/A
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
2014-08-10 22:52:25.425641 7f0079d1a700 10 osd.5 875 _send_boot 2014-08-10 22:52:25.425648 7f0079d1a700 10 osd.5 875 assuming cluster_addr ip matches client_addr 2014-08-10 22:52:25.425655 7f0079d1a700 10 osd.5 875 assuming hb_back_addr ip matches cluster_addr 2014-08-10 22:52:25.425658 7f0079d1a700 10 osd.5 875 assuming hb_front_addr ip matches client_addr 2014-08-10 22:52:25.425648 7f007340c700 1 -- 10.214.131.28:59753/11263 learned my addr 10.214.131.28:59753/11263 2014-08-10 22:52:25.425666 7f0079d1a700 10 osd.5 875 client_addr 10.214.131.28:6814/11263, cluster_addr 10.214.131.28:6816/11263, hb_back_addr 10.214.131.28:6817/11263, hb_front_addr 10.214.131.28:6818/11263
ubuntu@teuthology:/a/sage-2014-08-10_18:40:12-rados-firefly-next-distro-basic-multi/414780
Associated revisions
msg/Accepter: do not unlearn_addr on bind()
It is dangerous to set need_addr = true as it means someone may set the
addr to something else (specifically the port) in a racing thread.
However, it is not necessary: the only reason we added it way back in
5d5045d31a9e10d21b44eb1bd137db9ae53128ff was so that
local_connection->peer_addr would get updated, and bind() now calls that
unconditionally.
Fixes: #9079
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
History
#1 Updated by Loïc Dachary over 9 years ago
#2 Updated by Sage Weil over 9 years ago
- Status changed from 12 to Pending Backport
#3 Updated by Sage Weil over 9 years ago
- Status changed from Pending Backport to Resolved
not worth backporting