Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MRESOLVER-316] DF Collector may enter endless loop (#244)
When resolving artifact from issue, the DF collector enters endless loop. But the loop is NOT in collecting, it happens when DF detect unsolvable problem, and tries to report it. To report it, it needs to visit the graph of collected nodes, but that graph contains loops (and it is expected). But, the problem is that PathRecordingDependencyVisitor used to collect paths chokes on loops. Fix: just like in RepositorySystem#resolveDependencies, wrap up the graph visitor into TreeDependencyVisitor, that creates tree-like (loopless, tree by def) "view" of graph. With this fix, DF immediately detects that artifact in issue is unresolvable (just like BF does), as it contains unsolvable (not intersecting) ranges. --- https://issues.apache.org/jira/browse/MRESOLVER-316
- Loading branch information