You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Dobias van Buuren (JIRA)" <ji...@apache.org> on 2016/11/25 08:33:58 UTC

[jira] [Created] (FELIX-5426) Remove callbacks aren't called for optional dependencies in a "circular" dependency scenario

Dobias van Buuren created FELIX-5426:
----------------------------------------

             Summary: Remove callbacks aren't called for optional dependencies in a "circular" dependency scenario
                 Key: FELIX-5426
                 URL: https://issues.apache.org/jira/browse/FELIX-5426
             Project: Felix
          Issue Type: Bug
          Components: Dependency Manager
    Affects Versions: org.apache.felix.dependencymanager-r8
            Reporter: Dobias van Buuren


In some cases, the whiteboard pattern remove callbacks aren't called by the depenency manager.

See attached test class. Here some sort of "cyclic" dependency is made between 'Shop' -> 'Item' -> 'Shop'.

See the log when starting and stopping a bundle with the attached Activator.java for an example.

Some investigation pointed us to ComponentImpl line 1191:
{code}
if (dc.isRequired()) {
	invokeCallbackSafe(dc, EventType.REMOVED, e);
}
{code}

When removing the condition for the required dependency, the REMOVED callbacks are called!

Why is the above condition written in the ComponentImpl.java? Can you please investigate this?
 



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