felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger (JIRA)" <j...@apache.org>
Subject [jira] Closed: (FELIX-516) ManagedService[Factory] may be updated twice with the same Configuration
Date Mon, 10 Mar 2008 12:33:46 GMT

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

Felix Meschberger closed FELIX-516.

    Resolution: Fixed

Implemented a marker in the Configuration object which defines, whether the last change of
a configuration update or delete has already been delivered to the owning ManagedService[Factory]
or not.

Fixed in Rev. 635540 and deployed new SNAPSHOT version 1.0.1-20080310.123324-2

> ManagedService[Factory] may be updated twice with the same Configuration
> ------------------------------------------------------------------------
>                 Key: FELIX-516
>                 URL: https://issues.apache.org/jira/browse/FELIX-516
>             Project: Felix
>          Issue Type: Bug
>          Components: Configuration Admin
>    Affects Versions: configadmin-1.0.0
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: configadmin-1.0.1
> The Configuration Admin service implementation has a multi-threading issue in that a
configuration may be delivered to a ManagedService[Factory] twice under certain conditions.
> Consider the situation of thread Threads T1 registering a ManagedServiceFactory, T2 creating
and updating a configuration object for the ManagedServiceFactory registered by T1 and T3
the background thread managed by the Configuration Admin Service to serialize configuration
>   Thread T1 was registering a ManagedServiceFactory
>    In T1 the ConfigurationAdmin service sees the service and schedules configuration
of it
>    Thread T2 was creating and setting a configuration C
>    In T2 the ConfigurationAdmin service schedules the update of the ManagedServiceFactory
>    Thread T3 handles the first scheduled task of initially providing the service with
>               (created by T1 in the meantime)
>    Thread T3 handles the second scheduled task of updating the configuration
> Hence the ManagedServiceFactory is updated twice with the same configuration and thus
cycles the service.
> The fix is to record in the Configuration object that it was sent to the consuming service
and to prevent sending the update of a configuration, which has already been sent.

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

View raw message