I am looking into a slow Karaf startup and I stumbled onto this problem
FeaturesServiceImpl does allow for parallelism thanks to the downloadThreads configuration
It does respect this value and createDownloadManager() will use it to size the threadpool.
However adding a large amount of features at the same time results in one by one downloads across these threads.
I am currently looking for any pointers where the features install could be sequenced.
Attached is a JProfiler screenshot illustrating this problem.