maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Gusakov (JIRA)" <>
Subject [jira] Reopened: (MERCURY-40) DefaultSatSolver is non-deterministic
Date Thu, 11 Dec 2008 16:55:19 GMT


Oleg Gusakov reopened MERCURY-40:

      Assignee: Oleg Gusakov

This solution is deterministic to the extend of DependencyBuilder being deterministic, if
DependencyBuilder can place nodes of the same tree two timew in  a row in different order
- that would raise this issue again. 

The DependencyTreeBuilder builder uses ArrayLists to preserver the order of children, so it
is fine.

But  when we implement, say, OSGi resolver or another Java resolver - this is something to
watch for.

I will leave this open so that I can permanently fix it.

> DefaultSatSolver is non-deterministic
> -------------------------------------
>                 Key: MERCURY-40
>                 URL:
>             Project: Mercury
>          Issue Type: Bug
>    Affects Versions: 1.0.0-alpha-2
>            Reporter: Benjamin Bentmann
>            Assignee: Oleg Gusakov
>         Attachments: mercury-failed.txt, mercury-passed.txt, org.apache.maven.mercury.metadata.sat.DefaultSatSolverTest.txt
> Running the unit test {{DefaultSatSolverTest.testSingleVersionResolution()}} once on
Java 1.5 and 1.6 revealed a bug in {{DefaultSatSolver.solve()}} due to usage of {{HashMap}}.
See attached logs (passed with 1.5, failed with 1.6).
> The internal tweaks to the hash algos employed by the different JRE versions exhibited
a non-deterministic ordering of the artifact metadata list.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message