You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2008/03/10 13:33:46 UTC
[jira] Closed: (FELIX-516) ManagedService[Factory] may be updated
twice with the same Configuration
[ 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 updates.
> 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 configuration
> (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.