Arnoud Glimmerveen created FELIX-6784:
-----------------------------------------

             Summary: Reduce number of thread (re)creations of the Configurator 
Worker Thread
                 Key: FELIX-6784
                 URL: https://issues.apache.org/jira/browse/FELIX-6784
             Project: Felix
          Issue Type: Improvement
          Components: Configurator
            Reporter: Arnoud Glimmerveen


When looking into Thread creation, I noticed that the Apache Configurator 
Worker Thread can be (re)created quite a number of times. I traced this to the 
WorkerQueue implementation, which lets the underlying Thread terminate if it 
has no tasks to execute anymore. 

As tasks scheduling is a bit spread out/task execution is relatively short, the 
WorkerQueue in  most cases after completing a task, determines there are no 
pending tasks, and lets the underlying thread terminate. 
In my case during startup this happens about 140 times (in an application with 
around 90 bundles). As the configurator's tasks are mostly related to 
responding to bundle events, in an application consisting of more bundles I 
expect this figure of Thread creations to be bigger as well.

Though I haven't observed issues following the observed behaviour, I do think 
the configurator implementation can benefit from a slightly alternate approach 
to dealing with platform resources, like introducing a grace-period before 
freeing up resources.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to