[ 
https://issues.apache.org/jira/browse/FELIX-6778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tom Watson updated FELIX-6778:
------------------------------
    Affects Version/s: scr-2.2.14

> Reduce number of re-creation(s) of SCR Component Registry thread
> ----------------------------------------------------------------
>
>                 Key: FELIX-6778
>                 URL: https://issues.apache.org/jira/browse/FELIX-6778
>             Project: Felix
>          Issue Type: Improvement
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.2.14
>            Reporter: Arnoud Glimmerveen
>            Priority: Major
>
> I noticed when assigning a low value to {{ds.service.changecount.timeout}} 
> quite a lot of short-lived threads are created in quick succession during 
> startup. I found that the current approach to cancelling a timer after 
> successful update to the service.changecount property and the re-creating of 
> the timer for a subsequent changecount update, especially during startup 
> (when SCR is doing a lot of work) results in a quite lot of threads being 
> created that are short-lived.
> I propose another approach that limits the threads being created. By using a 
> ScheduledThreadPoolExecutor, the changecount update can still scheduled with 
> its timeout, but the executor would be able to reuse the thread for 
> subsequent updates. Also this executor can be configured to have the 
> thread(s) be terminated after a period of time that no tasks are scheduled on 
> the executor, thereby ensuring that there is no thread occupying resource(s) 
> when there are no updates to the changecount.



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

Reply via email to