felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pierre De Rop (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-5426) Remove callbacks aren't called for optional dependencies in a "circular" dependency scenario
Date Fri, 25 Nov 2016 22:58:59 GMT

    [ https://issues.apache.org/jira/browse/FELIX-5426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15696832#comment-15696832

Pierre De Rop commented on FELIX-5426:

Hi Dobias,

I think I fixed this bug, and your sample Activator helped a lot; a big thanks !
it's nice that you reported this issue because I may make a release soon.

So, I created for this issue two test cases:

FELIX5426_OptionalCallbackNotCalledTest (I think it reproduces your usecase)
FELIX5426_OptionalChangeCallbackNotCalledTest (there is no bug for this one, it's just that
 this kind of test was missing).

can you please give one another shot to the trunk ?

then please put this issue to resolved if all is well ... hopefully.


> 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
>            Assignee: Pierre De Rop
>         Attachments: Activator.java
> In some cases, the whiteboard pattern remove callbacks aren't called by the depenency
> 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 message was sent by Atlassian JIRA

View raw message