Hello, 

I have a rather fuzzy question about the topology.shortest_distance function. I'll try to explain my problem as clearly as I can. If I fail to be clear enough, don't waste your time, just let me know.

I have a pool of workers using one single graph view instance, each work calls a function f described below. The graph view has an edge filter.

def f(g, origin, targets_ids, weights):
    d, p = topology.shortest_distance(g, source=origin, target=targets_ids, weights=weights, pred_map=True)
    i = score(d)
    path = topology.shortest_path(g, source=origin, target=targets_ids[i], pred_map=p)
    return path

Once in a while, the path from function f is not consistant with the graph view (it goes through disabled edges). 

I tried to reproduce the error in a single thread environment. The exact same inputs do not fail as observed previously (ie. with multiple workers). 

It seems highly unlikely, but would it be possible for the predecessor map "p" to be overwritten by the actions of an another worker in the pool ? I'm asking because I ran out of ideas to explain this problem, although it sounds dumb. 

Bests,
François.