Tom Watson created FELIX-6633:
---------------------------------

             Summary: Dynamic references may miss events while causing 
deactivation
                 Key: FELIX-6633
                 URL: https://issues.apache.org/jira/browse/FELIX-6633
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-2.2.6
            Reporter: Tom Watson


This issue sounds similar to issue FELIX-6616 but the cause is much different.  
It still involves multiple threads that are registering/unregistering services 
that are referenced by a dynamic reference using 1..1 or m..n where m is >0 
(set through configuration admin).

The scenario involves one thread unregistering a service that causes 
deactivation while at the same time another thread is registering a service 
that would again satisfy the cardinality  of the reference.  When this happens 
the tracker can get into a state where it misses the registration event while 
deactivating.

There are probably several ways to fix this, but the most simple seems to be to 
add a call to recheck the dependency manager after deactivation.  This is 
similar to the other reference types that are not dynamic. 



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

Reply via email to