You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2016/06/11 01:16:20 UTC

[jira] [Resolved] (FELIX-5270) [DS] Config race between update and delete

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

David Jencks resolved FELIX-5270.
---------------------------------
    Resolution: Fixed

r1747831 removes all attempts to set bundle location and modifies tests appropriately.

> [DS] Config race between update and delete
> ------------------------------------------
>
>                 Key: FELIX-5270
>                 URL: https://issues.apache.org/jira/browse/FELIX-5270
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.0.2
>            Reporter: David Jencks
>            Assignee: David Jencks
>             Fix For: scr-2.0.4
>
>
> Thanks to Fabian Lange for reporting this problem and providing logging that shows what is going on.
> The first getConfiguration when the location is not set generates a LocationChanged event.  When we get such an event, we get the configuration to see what happened.
> DS: (either from query or initial CM_UPDATED event) calls getConfiguration, setting the bundle location and generating a CM_LOCATION_CHANGED event.
> User: delete configuration, setting the properties to null
> DS: receive CM_LOCATION_CHANGED, call getConfiguration (incidentally recreating the configuration) and get configuration with null properties and a location.  We then throw:
>                             if (configInfo.getProps() == null)
>                             {
>                                 throw new IllegalStateException("Existing Configuration with pid " + pid +
>                                         " has had its properties set to null and location changed.  We expected a delete event first.");
>                             }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)