reconnect.msg_seq());
// can peer_addrs be changed on-the-fly?
+ // TODO: change peer_addr to entity_addrvec_t
if (conn.peer_addr != reconnect.addrs().front()) {
- logger().error("{} peer identifies as {}, while conn.peer_addr={}",
+ logger().error("{} peer identifies as {}, while conn.peer_addr={},"
+ " reconnect failed",
conn, reconnect.addrs().front(), conn.peer_addr);
- ceph_assert(false);
+ throw std::system_error(
+ make_error_code(ceph::net::error::bad_peer_address));
}
- // TODO: change peer_addr to entity_addrvec_t
- ceph_assert(conn.peer_addr == conn.target_addr);
peer_global_seq = reconnect.global_seq();
SocketConnectionRef existing_conn = messenger.lookup_conn(conn.peer_addr);