[flowcounterrouter] Fix the route remove flow for non-yet bound prefixes #2691
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What I did
Update the isRouteAlreadyBound to consider both the maps for verifying whether the prefix is deleted or not.
Why I did it
When a route is deleted and the flow counter for that route is not yet bound i.e. still in mPendingAddToFlexCntr (in rare cases), the orchagent will not delete the flow counters and they will remain even after the corresponding route is deleted
Happens because isRouteAlreadyBound method presumes all the route counters for a route pattern would either be in mPendingAddToFlexCntr or mBoundRouteCounters. But in some cases they might exist in both the maps
How I verified it
Details if related