Comment 0 for bug 1434383

Revision history for this message
Nischal Sheth (nsheth) wrote :

In BgpXmppChannel::MembershipResponseHandler when processing the response
for an unsubscribe, there's an assertion that the defer queue for the VRF is empty.

    if (state.pending_req == UNSUBSCRIBE) {
        assert(!defer_q_.count(vrf_n_table));
        return true;
    } else if (state.pending_req == SUBSCRIBE) {

If the current incarnation of the routing instance is being deleted and a subsequent
subscribe and routes have been sent by agent for the new incarnation of the instance,
the assertion can fail. The subscribe for the to be re-created instance is enqueued in
the vrf_membership_request_map_ whereas the pending routes are enqueued in the
defer queue.