{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph/issues/4311","labels_url":"https://api.github.com/repos/ceph/ceph/issues/4311/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/4311/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/4311/events","html_url":"https://github.com/ceph/ceph/pull/4311","id":67305293,"number":4311,"title":"Wip async fix 4","user":{"login":"yuyuyu101","id":980577,"avatar_url":"https://avatars.githubusercontent.com/u/980577?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyuyu101","html_url":"https://github.com/yuyuyu101","followers_url":"https://api.github.com/users/yuyuyu101/followers","following_url":"https://api.github.com/users/yuyuyu101/following{/other_user}","gists_url":"https://api.github.com/users/yuyuyu101/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyuyu101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyuyu101/subscriptions","organizations_url":"https://api.github.com/users/yuyuyu101/orgs","repos_url":"https://api.github.com/users/yuyuyu101/repos","events_url":"https://api.github.com/users/yuyuyu101/events{/privacy}","received_events_url":"https://api.github.com/users/yuyuyu101/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceph/ceph/labels/bug%20fix","name":"bug fix","color":"e11d21"},{"url":"https://api.github.com/repos/ceph/ceph/labels/core","name":"core","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-04-09T08:13:31Z","updated_at":"2015-04-13T08:41:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/4311","html_url":"https://github.com/ceph/ceph/pull/4311","diff_url":"https://github.com/ceph/ceph/pull/4311.diff","patch_url":"https://github.com/ceph/ceph/pull/4311.patch"},"body":"Fix osd crash problem:\r\n\r\n1. osd A,B connected and lots of messages inflight\r\n2. the connection failed and each side try to reconnect\r\n3. assume osd.a successfully send ceph_connect_msg to osd.b\r\n4. osd.b accept and reply to osd.a with CEPH_MSGR_TAG_RETRY_GLOBAL\r\n5. osd.a will try to send ceph_connect_msg again\r\n6. there still exists some prefetch buffer in osd.b side, so osd.b got a wrong ceph_connect_msg\r\n7. so osd.b got a default policy according to wrong host_type, so lossy will be true\r\n8. then osd.b verify connect_msg and found wrong protocol version, so go to fail\r\n9. osd.b will discard all states because of lossy=true!\r\n\r\nSo now we just avoid use incoming policy directly."},"comment":{"url":"https://api.github.com/repos/ceph/ceph/issues/comments/92272882","html_url":"https://github.com/ceph/ceph/pull/4311#issuecomment-92272882","issue_url":"https://api.github.com/repos/ceph/ceph/issues/4311","id":92272882,"user":{"login":"yuyuyu101","id":980577,"avatar_url":"https://avatars.githubusercontent.com/u/980577?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyuyu101","html_url":"https://github.com/yuyuyu101","followers_url":"https://api.github.com/users/yuyuyu101/followers","following_url":"https://api.github.com/users/yuyuyu101/following{/other_user}","gists_url":"https://api.github.com/users/yuyuyu101/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyuyu101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyuyu101/subscriptions","organizations_url":"https://api.github.com/users/yuyuyu101/orgs","repos_url":"https://api.github.com/users/yuyuyu101/repos","events_url":"https://api.github.com/users/yuyuyu101/events{/privacy}","received_events_url":"https://api.github.com/users/yuyuyu101/received_events","type":"User","site_admin":false},"created_at":"2015-04-13T08:41:11Z","updated_at":"2015-04-13T08:41:11Z","body":"@gregsfortytwo It should fix the osd crash problem. If no problem, we can merge it"}}