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/01 00:13:12 UTC

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

David Jencks created FELIX-5270:
-----------------------------------

             Summary: [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)