Skip to content
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(Query): Fix wrong path response for k-shortest paths (#6437) #6654

Merged
merged 1 commit into from Oct 5, 2020

Commits on Oct 5, 2020

  1. fix(Query): Fix wrong path response for k-shortest paths (#6437)

    The k-shortest path query sometimes returns a wrong response. The cause
    of this issue is inappropriate use of sync.pools. Whenever a valid path
    is found a new variable is assigned with this route and that variable is
    appended in the kroutes (which is then parsed to produce response).
    But the route is also put in the sync.pool. Since the route is a
    structure containing a pointer to slice along with other fields, when
    it is fetched back from the pool in future then any mutation on this fetched
    route causes modification in the kroutes, resulting in garbage response.
    
    This issue is fixed by making a copy of the route struct rather
    than just assigning it to a variable, which causes a shallow copy.
    
    (cherry picked from commit 4792d8b)
    ahsanbarkati committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    531aaa9 View commit details
    Browse the repository at this point in the history