-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix of router hanging #2282 #2619
Conversation
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
@googlebot I fixed it. |
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll merge once the build passes.
When generating candidate swaps to perform for the next set of operations to apply, the routing algorithm only checked if there is a candidate swap. It did not check if performing this swap will lead to a new adjacent connection in the graph, considering the max_search_radius. This leads to the algorithm being stuck in an infinite loop for some graph instances, where it keeps performing swaps that don't lead to adjacent connections for the remaining operations.
Fixed this by adding a check for adjacent connections in the new graph, and if there are no new adjacent connections, perform the swap that brings together the farthest nodes.
Fixes: #2282