Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
scr-2.2.6
-
None
Description
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.
Attachments
Issue Links
- links to