dev@glassfish.java.net

order of Habitat.getInhabitants(Class class) values?

From: Bobby Bissett <bobby.bissett_at_oracle.com>
Date: Tue, 18 Jan 2011 15:54:31 -0500

Hi all,

We've had a couple upgrade issues that happened only in promoted builds instead in the trunk. For instance, some issues such as GLASSFISH-15195 and GLASSFISH-15576 always happened if I built from the branches and not from the trunk.

The only difference was that the order of inhabitants returned from the getInhabitants call was changed, and some upgrade modules failed because they didn't explicitly declare other modules that needed to run first. Since the problem never happened in the trunk, it makes sense that developers wouldn't see the problem (and would repeatedly mark the bugs as not-reproducible).

Tom to the rescue:
http://java.net/jira/browse/GLASSFISH-15195?focusedCommentId=148935&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_148935

Anyway, I'm thinking I should go through the upgrade forcing each of the 16 upgrade classes to go first to make sure they properly make their dependencies run first. But if there are problems, I'm not sure they need to be fixed in 3.1 if there's a way to know they won't happen out in the wild.

Thus, what determines the order of the values returned from that call, and why would it be different in, for instance, the https://svn.java.net/svn/glassfish~svn/tags/3.1-b37 branch and not the trunk of the workspace?

Thanks,
Bobby