                std::vector<node_id_t> filtered_joiners(curr_view->joined.size() - 1);
                std::remove_copy(curr_view->members.begin(), curr_view->members.end(),
                                 filtered_members.begin(), failed_joiner_id);
                std::remove_copy(curr_view->member_ips_and_ports.begin(),
                                 curr_view->member_ips_and_ports.end(),
                                 filtered_ips_and_ports.begin(),
                                 curr_view->member_ips_and_ports[curr_view->rank_of(failed_joiner_id)]);
                std::remove_copy(curr_view->joined.begin(), curr_view->joined.end(),
                                 filtered_joiners.begin(), failed_joiner_id);
                curr_view = std::make_unique<View>(0, filtered_members, filtered_ips_and_ports,
                                                   std::vector<char>(curr_view->num_members - 1, 0), filtered_joiners,