felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Bosschaert (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (FELIX-5198) Service should not be available while being unregistered
Date Thu, 25 Feb 2016 17:46:18 GMT

     [ https://issues.apache.org/jira/browse/FELIX-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

David Bosschaert resolved FELIX-5198.
    Resolution: Invalid

After further consultation with OSGi CPEG, it became clear to me that the current Felix behaviour
is the correct one. 

Specifically, section 5.6.1 of the core spec states:

bq. UNREGISTERING - A service object is in the process of being unregistered. This event is
synchronously delivered before the service object has completed unregistering. That is, during
the delivery of this event, the service object is still valid. The bundle receiving this event
must release all references to this service before this method returns.

So I'm afraid I have to close this issue as being invalid. Please reopen if anyone disagrees.

> Service should not be available while being unregistered
> --------------------------------------------------------
>                 Key: FELIX-5198
>                 URL: https://issues.apache.org/jira/browse/FELIX-5198
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-5.4.0
>            Reporter: Carsten Ziegeler
>            Assignee: David Bosschaert
>             Fix For: framework-5.6.0
>         Attachments: felix-5198.patch
> Currently it is possible to get a service while it is  being unregistered - if the service
is get during processing of the unregistering event. This is the order of events:
> a) a service (factory) is unregistered in the framework
> b) the UNREGISTERING event is sent before the service is actually unregistered (this
is as defined in the spec)
> c) the above event is handled synchronously, reactivating dependent components
> d) during this reactivation, some component looks up the service that is unregistered
in a). as this service is still registered and marked as valid, it gets it
> According to ServiceRegistration.unregister the service should not be available anymore
while the events are sent

This message was sent by Atlassian JIRA

View raw message