You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Peter Kriens (Jira)" <ji...@apache.org> on 2020/06/23 15:29:00 UTC

[jira] [Commented] (FELIX-6288) Apache Felix SCR Lock timeout

    [ https://issues.apache.org/jira/browse/FELIX-6288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17143038#comment-17143038 ] 

Peter Kriens commented on FELIX-6288:
-------------------------------------

After discussing further with a customer, maybe the component should also be automatically be rescheduled.

> Apache Felix SCR Lock timeout
> -----------------------------
>
>                 Key: FELIX-6288
>                 URL: https://issues.apache.org/jira/browse/FELIX-6288
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>            Reporter: Peter Kriens
>            Priority: Minor
>
> The SCR timeout for obtaining the lock to create a component instance (state lock) is 5 secs. We ran into a case where this was not sufficient on embedded hardware. Clearly an activate method/constructor should not take this amount of time. However, while tracing this it was clear that this time included a large number of activate methods. If you have a set of lazy services in a dependency chain, and someone activates the top of the chain, all downstream activate methods will be running.
> The purpose of the 5 secs is imho to break deadlocks, there seems nothing to win by breaking an application because you only want to wait 5 secs. If an application takes too long to startup, it is far superior to let the application finish correctly than put it in an unknown state by failing the component creation.
> I suggest increasing the default timeout to something like 30sec. This will break deadlocks and should handle the 99,999% of the cases slowly but correctly. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)