[ http://jira.codehaus.org/browse/MERCURY-40?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
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: http://jira.codehaus.org/browse/MERCURY-40 > 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: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira