Hi Paul,

You are mixing two things: the generation of the startup.properties at build 
time, and the actual order at runtime.

My point was about the start level at runtime, not build/startup.properties 
generation.

We use start-level in Karaf to define the order, and it’s cleanly sorted. What 
we do is to pass the start level in the features definition:

https://github.com/apache/karaf/blob/main/assemblies/features/framework/src/main/feature/feature.xml
 
<https://github.com/apache/karaf/blob/main/assemblies/features/framework/src/main/feature/feature.xml>

Then, we define the feature as startupFeature and the startup.properties is 
generated using the start-level defined in the feature definition.

Do you use the same approach or directly startupBundles ?

Regards
JB

> Le 11 mai 2021 à 16:38, Paul Stanley <pj.stan...@live.co.uk> a écrit :
> 
> Hello.
> 
> I have tested the proposed 4.3.2 release and the startup.properties file is 
> still being generated in a non- deterministic order.  They are grouped in 
> their start level, but within that they are listed in a random order.
> 
> The issue we have been seeing relates to the jetty distribution which listed 
> in the startup.properties file as part of our custom installation, given the 
> unpredictable order has led to the web server restarting a number of times 
> during the boot cycle, this in turn can prevent karaf from starting.
> 
> It appears that the problem is in the builder class in the profile project.  
> This does attempt to sort the bundles, but the startupEffective.getBundles() 
> list is empty and as such the sort operation has no effect.  Would it be 
> possible to updated the resolve() method and the MapUtils class to use 
> LinkedHashMaps when using the Collectors.toMap() stream operations.
> 
> Thanks
> Paul
> 
> ________________________________
> From: Romain Manni-Bucau <rmannibu...@gmail.com>
> Sent: 05 May 2021 16:10
> To: dev <dev@karaf.apache.org>
> Subject: Re: Non-Deterministic startup order
> 
> Hi Paul,
> 
> Did you use the last 4.3 release? Startup bundles shouldn't be randomized
> anymore. For features it is a bit more complicated since it is a tree so
> guess order can't really be assumed without side effects (whereas it can
> for a flat list of bundles).
> 
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
> 
> 
> Le mer. 5 mai 2021 à 17:07, Paul Stanley <pj.stan...@live.co.uk> a écrit :
> 
>> Hi.
>> 
>> When building and running karaf the boot order for the initial set of
>> startup bundles is being randomised, within their start levels.  As result
>> we are seeing non-deterministic behaviour between development and release
>> builds of custom karaf platforms.
>> 
>> Please can you change the karaf.features.core and the karaf.profile.core
>> to use LinkedHashMaps and Sets, to preserve the order of bundles as
>> discovered in the feature.xml files.
>> 
>> Thanks
>> Paul
>> 
>> 

Reply via email to