Service provider module resolution <was> Re: Services/configuration/context webrevs

Alan Bateman Alan.Bateman at oracle.com
Sun Aug 5 14:00:19 PDT 2012


On 01/08/2012 01:59, Mandy Chung wrote:
>
> Thanks for adding these tests.  It's a general issue.  As we discussed
> it offline today, it'll be addressed in a separate changeset.  I know
> Alan is going to review it too.  Once he reviews it, I can push this
> changeset for you.
Sorry for the delay, but I have finally got time to go this (webrev.04).

Overall I've come around to agreeing with approach. Clearly we could 
conjure up cases where the resolver would find a solution today but not 
find a solution with the changes. On the other hand it is very important 
that the solution (and selected versions) can be explained to the user 
and it isn't nice that the dependencies of a service module can change 
the outcome. So I think the approach makes things more predictable and 
should help the diagnostic output too.

I went through the resolver changes in detail and don't see anything 
obvious wrong. Naming of variables is a bit more verbose than the 
existing code but that's no big deal. A minor point is that 
serviceInterfaceQueue is a LinkedList so the contains check will be 
O(n). No big deal now but worth adding a comment as such usages have a 
habit of biting us later.

I also went through the test changes and the replacement of the shell 
tests with tests based _Configurator/ModuleInfoBuilder and I think it 
looks good (took me a few minutes to properly tune into this but overall 
I think the test coverage has improved quite a bit). I guess I probably 
would drop the "runtime" directory and move runtime.sh up one level as 
services.sh.

So overall I think is a good improvement and good work.

(Mandy - as I was going through the tests I notice we've got the GPL 
with Classpath exception header on the tests. Also did we discuss -esa 
and -ea recently? Usually they are passed through via the jtreg 
-vmoption rather than needing to be in each shell test).

-Alan.



More information about the jigsaw-dev mailing list