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)