<< __func__ << " accept connection race, existing " << existing
<< ".cseq " << exproto->connect_seq
<< " == " << connect_msg.connect_seq << ", sending WAIT" << dendl;
- ceph_assert(connection->peer_addrs.legacy_addr() >
+ ceph_assert(connection->peer_addrs->legacy_addr() >
messenger->get_myaddr());
existing->lock.unlock();
+ // make sure we follow through with opening the existing
+ // connection (if it isn't yet open) since we know the peer
+ // has something to send to us.
+ existing->send_keepalive();
return send_connect_message_reply(CEPH_MSGR_TAG_WAIT, reply,
authorizer_reply);
}
<< __func__ << " accept connection race, existing " << existing
<< ".cseq " << exproto->connect_seq
<< " == " << connect_msg.connect_seq << ", sending WAIT" << dendl;
- ceph_assert(connection->peer_addrs.legacy_addr() >
+ ceph_assert(connection->peer_addrs->legacy_addr() >
messenger->get_myaddr());
existing->lock.unlock();
- return send_connect_message_reply(CEPH_MSGR_TAG_WAIT, reply,
+ // make sure we follow through with opening the existing
+ // connection (if it isn't yet open) since we know the peer
+ // has something to send to us.
+ existing->send_keepalive();
+ return send_connect_message_reply(CEPH_MSGR_TAG_WAIT, reply,
authorizer_reply);
}
}