Since we do not support shard to shard connections at the moment, ip address should fully decide if a connection to a remote node exists or not. messaging_service maintains connections to remote node using std::unordered_map<shard_id, shard_info, shard_id::hash> _clients; With this patch, we can possibly reduce number of tcp connections between two nodes.