You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Matthew Sykes (JIRA)" <ji...@apache.org> on 2009/09/30 22:36:24 UTC

[jira] Created: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Missing support for DS 1.1 specified lazy activation behavior
-------------------------------------------------------------

                 Key: FELIX-1666
                 URL: https://issues.apache.org/jira/browse/FELIX-1666
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-1.0.8
            Reporter: Matthew Sykes


While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).

It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger resolved FELIX-1666.
--------------------------------------

    Resolution: Fixed

In Rev. 824038 add support for lazy bundle activation policy.

Also refactored the map of bundles with components: This used to be indexed by the bundle symbolic name, but this is wrong since
it is perfectly ok for two or more bundles in the framework to have the same symbolic name. Now the bundle ID is used, which is guaranteed to be unique per bundle.

Can you please verify this works correctly in your environment ? Thanks.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger resolved FELIX-1666.
--------------------------------------

    Resolution: Fixed

I slinghtly modified the active check to verify the lazy activation policy header is set for STARTING bundles in Rev. 825016.

>From your comments, I assume this works, so I resolve the issue. Thanks.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>            Assignee: Felix Meschberger
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Matthew Sykes (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765121#action_12765121 ] 

Matthew Sykes commented on FELIX-1666:
--------------------------------------

I'm sorry.  The ServiceFactory comment was intended to be scoped to delayed components.  I absolutely agree that there's no reason why an immediate component needs another layer of indirection.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Matthew Sykes (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765090#action_12765090 ] 

Matthew Sykes commented on FELIX-1666:
--------------------------------------

I've pulled in the SCR from the trunk and tried it out.  It looks like the component descriptors are being processed but things still aren't behaving as expected as the component services aren't being registered as the references are resolved.  This may be related to the lazy state but I expect it's something more fundamental.

I'll dig in and either comment here or open another bug.

Thanks for the quick turnaround on the patch.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated FELIX-1666:
-------------------------------------

    Fix Version/s: scr-1.2.0

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Matthew Sykes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthew Sykes reopened FELIX-1666:
----------------------------------


I dug in a little bit more.  I have a delayed component defined in a bundle with a lazy activation policy that provides a service.  The component has no references so its configuration is satisfied at the time the bundle is started.  The service for the delayed component is never registered causing dependent components to remain unsatisfied.

This problem appears to be coming from the ComponentActivatorTask as the following warning issued via the log service:

[21] Cannot run task 'Enable Component: com.foo.bar.ServiceComponent (20)': Declaring bundle is not active null

Enabled, satisfied components should have their provided services registered as a ServiceFactory when the bundle is in the LAZY_ACTIVATION state.  When the services are resolved, the deferred component should then be activated.

Thanks again.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Matthew Sykes (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765272#action_12765272 ] 

Matthew Sykes commented on FELIX-1666:
--------------------------------------

I did a quick sniff test by mucking around with start levels.  If I start the SCR after the other bundles are in lazy state, things seem to work.  Unfortunately I'm not in a position to do a lot more than that.

Thanks again for the quick turnaround.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>            Assignee: Felix Meschberger
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger reassigned FELIX-1666:
----------------------------------------

    Assignee: Felix Meschberger

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>            Assignee: Felix Meschberger
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765115#action_12765115 ] 

Felix Meschberger commented on FELIX-1666:
------------------------------------------

Thanks for digging in and providing the patch. I try to apply it tonight.

> Enabled, satisfied components should have their provided services registered as a ServiceFactory

Are you sure ? I think the components providing a service should only be registered as ServiceFactory iff they are defined as delayed or as service factories in the descriptor. Service components declared as "immediate=true" should IMHO registered as plain services and thus should cause the bundle to be really started.

WDYT ?

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765190#action_12765190 ] 

Felix Meschberger commented on FELIX-1666:
------------------------------------------

Found another place where the correct state has not been checked: In the case of starting SCR after other bundles, components of lazily started bundles are not loaded.

Fixed both situations using a new helper method, which should these two situations in Rev. 824884

May I ask you to check again ? Thanks.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>            Assignee: Felix Meschberger
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762135#action_12762135 ] 

Felix Meschberger commented on FELIX-1666:
------------------------------------------

Indeed.

Thanks for reporting.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger closed FELIX-1666.
------------------------------------


SCR 1.2.0 has been released. Close all issues.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>            Assignee: Felix Meschberger
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-1666) Missing support for DS 1.1 specified lazy activation behavior

Posted by "Matthew Sykes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthew Sykes updated FELIX-1666:
---------------------------------

    Attachment: lazy-bundle-state.diff

Simple patch that honors Bundle.STARTING as an appropriate state for activation.

> Missing support for DS 1.1 specified lazy activation behavior
> -------------------------------------------------------------
>
>                 Key: FELIX-1666
>                 URL: https://issues.apache.org/jira/browse/FELIX-1666
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.0.8
>            Reporter: Matthew Sykes
>             Fix For: scr-1.2.0
>
>         Attachments: lazy-bundle-state.diff
>
>
> While attempting to move code from the Equinox implementation of DS to the Felix implementation, I discovered that the Felix SCR does not seem to support processing and activation of component configurations that are declared in bundles awaiting lazy activation.  The DS 1.1 specification, section 112.8.2 indicates that bundles awaiting lazy activation are to be processed when the SCR starts (and, presumedly by extension, as bundles bundles are starting/started).
> It appears that Felix has implemented most of the DS 1.1 support already so it appears this is an oversight.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.