karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Nodet (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KARAF-4748) Make Felix Resolver Threads configurable
Date Tue, 04 Oct 2016 08:39:20 GMT

    [ https://issues.apache.org/jira/browse/KARAF-4748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15544743#comment-15544743

Guillaume Nodet commented on KARAF-4748:

The use of a CachedThreadPool is not a good solution, as the number of threads for a given
resolution has to be controlled.

So what could be used is a ThreadPoolExecutor with a corePoolSize = 0, maximumPoolSize = m_parallelism.
 Such an executor could be reused.
Though you need to make sure such an executor is not used by multiple resolution at the same
time, so you'd need a pool of such executors.

A better implementation would be to have bounded executors on top of a single CachedThreadPool,
to maximize thread reuse.

> Make Felix Resolver Threads configurable
> ----------------------------------------
>                 Key: KARAF-4748
>                 URL: https://issues.apache.org/jira/browse/KARAF-4748
>             Project: Karaf
>          Issue Type: Bug
>            Reporter: Fabian Lange
>         Attachments: Screen Shot 2016-10-03 at 20.13.47.png, Screen Shot 2016-10-04 at
09.25.48.png, Screen Shot 2016-10-04 at 09.26.04.png, Screen Shot 2016-10-04 at 09.26.17.png,
Screen Shot 2016-10-04 at 09.27.45.png, Screen Shot 2016-10-04 at 09.28.20.png, Screen Shot
2016-10-04 at 09.28.50.png, Screen Shot 2016-10-04 at 09.30.14.png, Screen Shot 2016-10-04
at 09.31.16.png
> It was requested in https://issues.apache.org/jira/browse/FELIX-5247 to make the resolver
threads configurable to avoid creating many threads by karaf.
> It turns out Felix already has that feature, but Karaf is not using it:
> https://github.com/apache/karaf/blob/karaf-4.0.x/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java#L119
> Resolver resolver = new ResolverImpl(new Logger(Logger.LOG_INFO));
> I propose to configure and supply an Executor with the desired threads. As additional
up, this prevents situations where there are unnecessary threads created.

This message was sent by Atlassian JIRA

View raw message