You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2016/06/02 19:38:59 UTC

[jira] [Resolved] (FELIX-5264) [DS] Config updates may be missed

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

David Jencks resolved FELIX-5264.
---------------------------------
       Resolution: Fixed
    Fix Version/s: scr-2.0.4

r1746617 fixes the specific problem found here and introduces a single State enum with some optimistic locking and enough logging so any remaining or new problems should be easier to diagnose.

> [DS] Config updates may be missed
> ---------------------------------
>
>                 Key: FELIX-5264
>                 URL: https://issues.apache.org/jira/browse/FELIX-5264
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.0.2
>            Reporter: David Jencks
>            Assignee: David Jencks
>             Fix For: scr-2.0.4
>
>
> If two threads are trying to activate a component concurrently, it's possible that one enters validateDependencyManagers, determines that a dependency is missing (so it thinks state should be unsatisfied), then wait, and the other thread the missing dependency arrives and activates the component, then the first thread resumes and sets m_satisfied to false.  So there's a fully activated component with m_satisfied false.  When a configuration update comes in it resets the target filters but then tries to activate the component.... which does nothing as it's already activated.  So the configuration update does not get applied.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)